Timetables

- Modified the "time of day" schedule condition to allow for multiple trips per day
- Fixed girder wrenching not working on dedicated servers
- Fixed startup crash from the train hud on dedicated servers
This commit is contained in:
simibubi 2022-06-10 19:03:08 +02:00
parent 091812b42d
commit 28e9f31cd8
21 changed files with 261 additions and 78 deletions

View file

@ -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
96614cd555fed5ebe7d8df6252fa50754c6791fa assets/create/lang/en_us.json
36090345672d7090a40724aa825ec4e50c480fbb assets/create/lang/unfinished/de_de.json
f365d79601113e1c4c7ecc825e12f6190c90941f assets/create/lang/unfinished/es_cl.json
93ae152cf0acab537d0aed48e812425430f67745 assets/create/lang/unfinished/es_es.json
9c41eb507db3073c26f29a56655270c0d591209d assets/create/lang/unfinished/fr_fr.json
f47c79169263e0367391d08c35b4ea0b461318ce assets/create/lang/unfinished/it_it.json
27d41aac785c80d2d12499a477ac3ce18c6d3942 assets/create/lang/unfinished/ja_jp.json
6f0f264704ae5aea0ff14db7c9c6e0ad1cfd550e assets/create/lang/unfinished/ko_kr.json
7366202ce7eada97f56bb4bdeb7b83c65fe26eaf assets/create/lang/unfinished/nl_nl.json
411f8b4197e39165d7ffb0507cb02ac9d78bec03 assets/create/lang/unfinished/pl_pl.json
dcdfe6cdbfbd89024c9f8a715a96c9ccf37d84bf assets/create/lang/unfinished/pt_br.json
c45e084905b1e8edff4d6789bb1cf8d6765171e9 assets/create/lang/unfinished/pt_pt.json
246e2e2f1b8971837b03649aa0cee46789a6c493 assets/create/lang/unfinished/ro_ro.json
f907f78cbe5ba10503fe6c46b4cc66dc13e55164 assets/create/lang/unfinished/ru_ru.json
ccd9afb8a17829570f1ee52395845f7b12aab7b3 assets/create/lang/unfinished/zh_cn.json
72fac7ef99dbb56b21a6ddb69687bb6fb9469bbb assets/create/lang/unfinished/zh_tw.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
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json

View file

@ -1390,8 +1390,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "+%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "Every 1:00",
"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.threshold.train_holds": "Train holds %1$s",
"create.schedule.condition.threshold.greater": "more than",
"create.schedule.condition.threshold.less": "less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 963",
"_": "Missing Localizations: 972",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 613",
"_": "Missing Localizations: 622",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 277",
"_": "Missing Localizations: 286",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1851",
"_": "Missing Localizations: 1860",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1540",
"_": "Missing Localizations: 1549",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 279",
"_": "Missing Localizations: 288",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 279",
"_": "Missing Localizations: 288",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 2203",
"_": "Missing Localizations: 2212",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 652",
"_": "Missing Localizations: 661",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1147",
"_": "Missing Localizations: 1156",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1825",
"_": "Missing Localizations: 1834",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 280",
"_": "Missing Localizations: 289",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 657",
"_": "Missing Localizations: 666",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 277",
"_": "Missing Localizations: 286",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 671",
"_": "Missing Localizations: 680",
"_": "->------------------------] Game Elements [------------------------<-",
@ -1391,8 +1391,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "UNLOCALIZED: Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "UNLOCALIZED: +%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "UNLOCALIZED: Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "UNLOCALIZED: Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "UNLOCALIZED: Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "UNLOCALIZED: Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "UNLOCALIZED: Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "UNLOCALIZED: Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "UNLOCALIZED: Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "UNLOCALIZED: Every 1:00",
"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.threshold.train_holds": "UNLOCALIZED: Train holds %1$s",
"create.schedule.condition.threshold.greater": "UNLOCALIZED: more than",
"create.schedule.condition.threshold.less": "UNLOCALIZED: less than",

View file

@ -28,9 +28,12 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
public class GirderWrenchBehavior {
@OnlyIn(Dist.CLIENT)
public static void tick() {
Minecraft mc = Minecraft.getInstance();
if (mc.player == null || mc.level == null || !(mc.hitResult instanceof BlockHitResult result))

View file

@ -20,6 +20,7 @@ import net.minecraft.client.gui.GuiComponent;
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.util.Mth;
import net.minecraft.world.item.ItemStack;
@ -32,18 +33,36 @@ public class TimeOfDayCondition extends ScheduleWaitCondition {
public TimeOfDayCondition() {
data.putInt("Hour", 8);
data.putInt("GracePeriod", 5);
data.putInt("Rotation", 5);
}
@Override
public boolean tickCompletion(Level level, Train train, CompoundTag context) {
int maxTickDiff = Math.max(20, intData("GracePeriod") * 60 * 20);
int dayTime = (int) (level.getDayTime() % 24000);
int targetTicks = (int) (((intData("Hour") + 18) % 24) * 1000 + (intData("Minute") / 60f) * 100);
int maxTickDiff = 40;
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 diff = dayTime - targetTicks;
return diff >= 0 && maxTickDiff >= diff;
}
public int getRotation() {
int index = intData("Rotation");
return switch (index) {
case 9 -> 250;
case 8 -> 500;
case 7 -> 750;
case 6 -> 1000;
case 5 -> 2000;
case 4 -> 3000;
case 3 -> 4000;
case 2 -> 6000;
case 1 -> 12000;
default -> 24000;
};
}
@Override
public Pair<ItemStack, Component> getSummary() {
return Pair.of(new ItemStack(Items.STRUCTURE_VOID),
@ -60,8 +79,15 @@ public class TimeOfDayCondition extends ScheduleWaitCondition {
@Override
public List<Component> getTitleAs(String type) {
return ImmutableList.of(Lang.translate("schedule.condition.time_of_day.scheduled",
getDigitalDisplay(intData("Hour"), intData("Minute"), false).withStyle(ChatFormatting.DARK_AQUA)));
return ImmutableList.of(Lang.translate("schedule.condition.time_of_day.scheduled"),
getDigitalDisplay(intData("Hour"), intData("Minute"), false).withStyle(ChatFormatting.DARK_AQUA)
.append(new TextComponent(" -> ").withStyle(ChatFormatting.DARK_GRAY))
.append(Lang
.translatedOptions("schedule.condition.time_of_day.rotation", "every_24", "every_12", "every_6",
"every_4", "every_3", "every_2", "every_1", "every_0_45", "every_0_30", "every_0_15")
.get(intData("Rotation"))
.copy()
.withStyle(ChatFormatting.GRAY)));
}
public String twoDigits(int t) {
@ -103,11 +129,11 @@ public class TimeOfDayCondition extends ScheduleWaitCondition {
l.visible = false;
}, "Minute");
builder.addScrollInput(68, 49, (i, l) -> {
i.withRange(0, 12)
.titled(Lang.translate("schedule.condition.time_of_day.grace_period"))
.format(t -> Lang.translate("schedule.condition.time_of_day.grace_period.format", t));
}, "GracePeriod");
builder.addSelectionScrollInput(52, 62, (i, l) -> {
i.forOptions(Lang.translatedOptions("schedule.condition.time_of_day.rotation", "every_24", "every_12",
"every_6", "every_4", "every_3", "every_2", "every_1", "every_0_45", "every_0_30", "every_0_15"))
.titled(Lang.translate("schedule.condition.time_of_day.rotation"));
}, "Rotation");
hourInput.getValue()
.titled(Lang.translate("generic.daytime.hour"))
@ -138,8 +164,8 @@ public class TimeOfDayCondition extends ScheduleWaitCondition {
.setState(intData("Minute"))
.onChanged();
builder.customArea(0, 60);
builder.customArea(65, 56);
builder.customArea(0, 52);
builder.customArea(52, 69);
}
}

View file

@ -245,6 +245,7 @@ public class PlacementHelpers {
ms.popPose();
}
@OnlyIn(Dist.CLIENT)
public static void textured(PoseStack ms, float centerX, float centerY, float alpha, float snappedAngle) {
RenderSystem.enableTexture();
AllGuiTextures.PLACEMENT_INDICATOR_SHEET.bind();

View file

@ -601,8 +601,17 @@
"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",
"create.schedule.condition.time_of_day.grace_period": "Grace Period",
"create.schedule.condition.time_of_day.grace_period.format": "+%1$s Hrs.",
"create.schedule.condition.time_of_day.rotation": "Rotation",
"create.schedule.condition.time_of_day.rotation.every_24": "Every Day",
"create.schedule.condition.time_of_day.rotation.every_12": "Every 12:00",
"create.schedule.condition.time_of_day.rotation.every_6": "Every 6:00",
"create.schedule.condition.time_of_day.rotation.every_4": "Every 4:00",
"create.schedule.condition.time_of_day.rotation.every_3": "Every 3:00",
"create.schedule.condition.time_of_day.rotation.every_2": "Every 2:00",
"create.schedule.condition.time_of_day.rotation.every_1": "Every 1:00",
"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.threshold.train_holds": "Train holds %1$s",
"create.schedule.condition.threshold.greater": "more than",
"create.schedule.condition.threshold.less": "less than",