diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 594f9615a..3eef805a7 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -188,13 +188,13 @@ b496452f2f7dbbba385e1fc10b560ec266e4b5e7 assets/create/blockstates/cyan_sail.jso 2c04d57e56849f243aec8a1e769574d24daac1e9 assets/create/blockstates/cyan_valve_handle.json 1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets/create/blockstates/dark_oak_window.json 50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets/create/blockstates/dark_oak_window_pane.json -990cdcce80e6e4ea3055c2572c5fafe3ee795b0f assets/create/blockstates/data_gatherer.json de0116bf32a26d697a3b999044d6fb0b1b98320e assets/create/blockstates/deepslate_pillar.json c3317a94c509d4bb2fe9c6f64a072334421998d3 assets/create/blockstates/deepslate_zinc_ore.json ac85f55d82d96fc15750e6b954297cfd1e00d04d assets/create/blockstates/deployer.json 3660f44309279a0347347f23ce7444c6ed98cafd assets/create/blockstates/depot.json 0270b68550e19720d0cdc9e44f63618908628192 assets/create/blockstates/diorite_pillar.json 62cc543abb242836570d07d619fcdb4c79c75db4 assets/create/blockstates/display_board.json +6766818ea63026a3af2fb9d81110d3887c74b0f8 assets/create/blockstates/display_link.json 30b3422bfee9878c92521429b2536d3e0313cedb assets/create/blockstates/dripstone_pillar.json 35fc68eb1d031d28ad09b7b603e64ae459634179 assets/create/blockstates/encased_chain_drive.json 7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json @@ -543,23 +543,23 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -875f9aff979888b9d63d6a425cbf544431f1af5a assets/create/lang/en_ud.json -0a0155981901a175ef3d80376bd12bf6ed87fc40 assets/create/lang/en_us.json -2441d72bd7c3f9bd175a3b7ad6dfd08650244333 assets/create/lang/unfinished/de_de.json -c78d38ed11410f3749b0531faddb47bc864c602e assets/create/lang/unfinished/es_cl.json -3f324c1793d15fc4efee2496ded04ef40a149eef assets/create/lang/unfinished/es_es.json -a75c200cad527244a00e9c8d8044b99ebcb4f434 assets/create/lang/unfinished/fr_fr.json -f8498450f21370fc25144fb02d7f3de644302eae assets/create/lang/unfinished/it_it.json -fb99ffda9c4f753478d69d4a7e672d2934e4eefe assets/create/lang/unfinished/ja_jp.json -c5b3a59940d9d1f31bd333acb05e77a07833f8f7 assets/create/lang/unfinished/ko_kr.json -1a8e15b473cc565d4a0ce6a077ebb21b04436caa assets/create/lang/unfinished/nl_nl.json -a4c4763232172a82d131bdcf9418e8944faa4767 assets/create/lang/unfinished/pl_pl.json -4293a80519e12fe25df446daf66a2c93abde0c29 assets/create/lang/unfinished/pt_br.json -40b6e4ba6fbdc90902288bbf0be9fd65a08d0bce assets/create/lang/unfinished/pt_pt.json -e4a748bfbb60cb7b597921115ce69b45bbfb3d79 assets/create/lang/unfinished/ro_ro.json -5539e89820b997b42e5605202e5c8ba508e80b77 assets/create/lang/unfinished/ru_ru.json -b3f274b8dc40d041733ba10cab527c5130f68bcf assets/create/lang/unfinished/zh_cn.json -5309ae6bd90efd2cf5e8adb730c2d2f4818edf7d assets/create/lang/unfinished/zh_tw.json +df56b5a55feb05caf63e59d7473c814cc212c593 assets/create/lang/en_ud.json +16081fd6f3e8241aa3c4f3bd6d867d8555478787 assets/create/lang/en_us.json +e61667043280cfb4414f063dd70761ea801e3129 assets/create/lang/unfinished/de_de.json +5ff1e28fe23bf3dacce2210cb3ca67a6a4f38b31 assets/create/lang/unfinished/es_cl.json +803bb955aba9425dcf77d5137fe58318524aeb42 assets/create/lang/unfinished/es_es.json +3134fecc8a92c44a0643fb89110987c4a57868a1 assets/create/lang/unfinished/fr_fr.json +7078cfddbdf73f65c89f8634e7d5979842ca34bb assets/create/lang/unfinished/it_it.json +4bb376849f661b658fd941a2407b0f78158cc0d4 assets/create/lang/unfinished/ja_jp.json +03db667e726d137a5daaa320b7d5801640173951 assets/create/lang/unfinished/ko_kr.json +0d5a2352092fa0218ffd3e35500ae47dec2306bc assets/create/lang/unfinished/nl_nl.json +67e8e20aaa1cad67581c9b7f6cd1b505c589e08a assets/create/lang/unfinished/pl_pl.json +7be5d96ae1d40b99f98594cd2140a111462514f9 assets/create/lang/unfinished/pt_br.json +428afed80b16e6def974b4d31d6609a14477cdcf assets/create/lang/unfinished/pt_pt.json +39219ca58890611aef68ee5d713614c4a8eaaf8e assets/create/lang/unfinished/ro_ro.json +5de2edb9239c491fdcfe51ee45c8206f16b3d4d3 assets/create/lang/unfinished/ru_ru.json +5db28a284f52b3b6d7f33bbba8542e3aeb49e0c3 assets/create/lang/unfinished/zh_cn.json +9c1d56dec09913608536eecbfecc0276bedf658c 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 @@ -1793,13 +1793,13 @@ b1eace1d7fe80e2b8dc0d844621f0d485f34cbf8 assets/create/models/item/cut_veridium_ 523cd531eadaadc45fb356ca58b99a8fe206c3a7 assets/create/models/item/cyan_valve_handle.json f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets/create/models/item/dark_oak_window.json 515d55b1ce18543fdb44b194901040fd29e75818 assets/create/models/item/dark_oak_window_pane.json -2faefc40f532f8480916f6d6a9c4a15e40deecef assets/create/models/item/data_gatherer.json 422c5ab12029ffdf37b315a158168d71725bd334 assets/create/models/item/deepslate_pillar.json 0f220a538e6a083debf68b4f1135d5f3ae4a3918 assets/create/models/item/deepslate_zinc_ore.json 2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets/create/models/item/deployer.json 84d87f715efab45dc7bcb2e3c0870ed56fa20ee9 assets/create/models/item/depot.json e0ecc0a20cf9dd54ccfc48e0041d5220b2c8316e assets/create/models/item/diorite_pillar.json 0ff9267a39783dce5e0aa59e78088c64337ad6ee assets/create/models/item/display_board.json +c89ab6316518a19974cbed73edb54aaaafd073f5 assets/create/models/item/display_link.json 6006f88e56d74a3fd75a9dddb25af39075e0482b assets/create/models/item/diving_boots.json df8cfe7e8eb527329094396e11222e9097e309d7 assets/create/models/item/diving_helmet.json 4b2af721dccfcf4e5b5a7b0f64f295d7cfd27f69 assets/create/models/item/dough.json @@ -3489,13 +3489,13 @@ db7ea40bfd36b5fa864453716256aba748435e36 data/create/loot_tables/blocks/cyan_sea 8854c95ee0d78abfb0393f7b4185618dc9aecba3 data/create/loot_tables/blocks/cyan_valve_handle.json 0d17705688109e9cf81c99ef559b1183b0e6053c data/create/loot_tables/blocks/dark_oak_window.json 636acaf2ebbbd790f8efe45a98cd036ffe848407 data/create/loot_tables/blocks/dark_oak_window_pane.json -c9dad60d36dde6522729fe433cb5022a00c12ce1 data/create/loot_tables/blocks/data_gatherer.json 18f29fec67600edc66b25217017b5b618efb1f4b data/create/loot_tables/blocks/deepslate_pillar.json 841d6010e87a4bf4e35e8ccc411e5d7f513b484a data/create/loot_tables/blocks/deepslate_zinc_ore.json 12a02b7737557a81281369826907b7e75076b8a0 data/create/loot_tables/blocks/deployer.json b6118279802f1a27e6e0c3d0feca86f0792f85df data/create/loot_tables/blocks/depot.json 48eba3e521b190fedfb6e7580bdb10bcb3f290bd data/create/loot_tables/blocks/diorite_pillar.json 2a8d81a07e9d209349264787eee93a0b973d2510 data/create/loot_tables/blocks/display_board.json +fd63effdc29cf565f561f8901a93c8ee3124bcaa data/create/loot_tables/blocks/display_link.json 7ab5f0aa32d6641999943636766c806a1d59e1d2 data/create/loot_tables/blocks/dripstone_pillar.json 2186860c4a0cb47a66bdfdefcde302c599cddeea data/create/loot_tables/blocks/encased_chain_drive.json 7fcc15674a7583b965441fb079b8997e4244a4ff data/create/loot_tables/blocks/encased_fan.json diff --git a/src/generated/resources/assets/create/blockstates/data_gatherer.json b/src/generated/resources/assets/create/blockstates/display_link.json similarity index 53% rename from src/generated/resources/assets/create/blockstates/data_gatherer.json rename to src/generated/resources/assets/create/blockstates/display_link.json index 376895f94..3baae8857 100644 --- a/src/generated/resources/assets/create/blockstates/data_gatherer.json +++ b/src/generated/resources/assets/create/blockstates/display_link.json @@ -1,54 +1,54 @@ { "variants": { "facing=down,powered=false": { - "model": "create:block/data_gatherer/block", + "model": "create:block/display_link/block", "x": 180 }, "facing=up,powered=false": { - "model": "create:block/data_gatherer/block" + "model": "create:block/display_link/block" }, "facing=north,powered=false": { - "model": "create:block/data_gatherer/block", + "model": "create:block/display_link/block", "x": 90 }, "facing=south,powered=false": { - "model": "create:block/data_gatherer/block", + "model": "create:block/display_link/block", "x": 90, "y": 180 }, "facing=west,powered=false": { - "model": "create:block/data_gatherer/block", + "model": "create:block/display_link/block", "x": 90, "y": 270 }, "facing=east,powered=false": { - "model": "create:block/data_gatherer/block", + "model": "create:block/display_link/block", "x": 90, "y": 90 }, "facing=down,powered=true": { - "model": "create:block/data_gatherer/block_powered", + "model": "create:block/display_link/block_powered", "x": 180 }, "facing=up,powered=true": { - "model": "create:block/data_gatherer/block_powered" + "model": "create:block/display_link/block_powered" }, "facing=north,powered=true": { - "model": "create:block/data_gatherer/block_powered", + "model": "create:block/display_link/block_powered", "x": 90 }, "facing=south,powered=true": { - "model": "create:block/data_gatherer/block_powered", + "model": "create:block/display_link/block_powered", "x": 90, "y": 180 }, "facing=west,powered=true": { - "model": "create:block/data_gatherer/block_powered", + "model": "create:block/display_link/block_powered", "x": 90, "y": 270 }, "facing=east,powered=true": { - "model": "create:block/data_gatherer/block_powered", + "model": "create:block/display_link/block_powered", "x": 90, "y": 90 } diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index aa62ef82d..9d96d5af6 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -189,13 +189,13 @@ "block.create.cyan_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B u\u0250\u028E\u0186", "block.create.dark_oak_window": "\u028Dopu\u0131M \u029E\u0250O \u029E\u0279\u0250\u15E1", "block.create.dark_oak_window_pane": "\u01DDu\u0250\u0500 \u028Dopu\u0131M \u029E\u0250O \u029E\u0279\u0250\u15E1", - "block.create.data_gatherer": "\u0279\u01DD\u0279\u01DD\u0265\u0287\u0250\u2141 \u0250\u0287\u0250\u15E1", "block.create.deepslate_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0250\u05DFsd\u01DD\u01DD\u15E1", "block.create.deepslate_zinc_ore": "\u01DD\u0279O \u0254u\u0131Z \u01DD\u0287\u0250\u05DFsd\u01DD\u01DD\u15E1", "block.create.deployer": "\u0279\u01DD\u028Eo\u05DFd\u01DD\u15E1", "block.create.depot": "\u0287od\u01DD\u15E1", "block.create.diorite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131\u0279o\u0131\u15E1", "block.create.display_board": "p\u0279\u0250o\u15FA \u028E\u0250\u05DFds\u0131\u15E1", + "block.create.display_link": "\u029Eu\u0131\uA780 \u028E\u0250\u05DFds\u0131\u15E1", "block.create.dripstone_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DDuo\u0287sd\u0131\u0279\u15E1", "block.create.encased_chain_drive": "\u01DD\u028C\u0131\u0279\u15E1 u\u0131\u0250\u0265\u0186 p\u01DDs\u0250\u0254u\u018E", "block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index b4ba24a0e..7683d3d12 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -192,13 +192,13 @@ "block.create.cyan_valve_handle": "Cyan Valve Handle", "block.create.dark_oak_window": "Dark Oak Window", "block.create.dark_oak_window_pane": "Dark Oak Window Pane", - "block.create.data_gatherer": "Data Gatherer", "block.create.deepslate_pillar": "Deepslate Pillar", "block.create.deepslate_zinc_ore": "Deepslate Zinc Ore", "block.create.deployer": "Deployer", "block.create.depot": "Depot", "block.create.diorite_pillar": "Diorite Pillar", "block.create.display_board": "Display Board", + "block.create.display_link": "Display Link", "block.create.dripstone_pillar": "Dripstone Pillar", "block.create.encased_chain_drive": "Encased Chain Drive", "block.create.encased_fan": "Encased Fan", @@ -1466,64 +1466,64 @@ "create.contraption.controls.stop_controlling": "Stopped controlling contraption", "create.contraption.controls.approach_station": "Hold %1$s to approach %2$s", - "create.data_gatherer.set": "Targeted position selected", - "create.data_gatherer.success": "Successfully bound to targeted position", - "create.data_gatherer.clear": "Cleared position selection", - "create.data_gatherer.too_far": "Targeted position is too far from here", - "create.data_gatherer.invalid": "Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "Data Gatherer", - "create.data_gatherer.no_source": "Not a Data Source", - "create.data_gatherer.no_target": "Not a Data Target", - "create.data_gatherer.reading_from": "Read from:", - "create.data_gatherer.writing_to": "Send to:", - "create.data_gatherer.attached_side": "Block on attached side", - "create.data_gatherer.targeted_location": "Block in targeted location", - "create.data_gatherer.view_compatible": "Click to view all Compatible", - "create.data_gatherer.information_type": "Type of Information", - "create.data_gatherer.display_on": "Write data to:", - "create.data_gatherer.display_on_multiline": "Start writing at:", + "create.display_link.set": "Targeted position selected", + "create.display_link.success": "Successfully bound to targeted position", + "create.display_link.clear": "Cleared position selection", + "create.display_link.too_far": "Targeted position is too far from here", + "create.display_link.invalid": "Link has no valid target, try placing it again", + "create.display_link.title": "Display Link", + "create.display_link.no_source": "Not a Display Source", + "create.display_link.no_target": "Not a Display Target", + "create.display_link.reading_from": "Read from:", + "create.display_link.writing_to": "Send to:", + "create.display_link.attached_side": "Block on attached side", + "create.display_link.targeted_location": "Block in targeted location", + "create.display_link.view_compatible": "Click to view all Compatible", + "create.display_link.information_type": "Type of Information", + "create.display_link.display_on": "Write data to:", + "create.display_link.display_on_multiline": "Start writing at:", - "create.data_source.label": "Attached Label", - "create.data_source.combine_item_names": "Combine Item Names", - "create.data_source.count_items": "Amount of matching Items", - "create.data_source.list_items": "List matching Items", - "create.data_source.nixie_tube": "Copy Nixie Tubes", - "create.data_source.fill_level": "Container Fill Level", - "create.data_source.fill_level.display": "Display Format", - "create.data_source.fill_level.percent": "Percent", - "create.data_source.fill_level.progress_bar": "Progress Bar", - "create.data_source.value_list.display": "Value Display", - "create.data_source.value_list.shortened": "Shortened", - "create.data_source.value_list.full_number": "Full Number", - "create.data_source.value_list.thousand": "k", - "create.data_source.value_list.million": "m", - "create.data_source.player_deaths": "Player Deaths", - "create.data_source.scoreboard": "Scoreboard", - "create.data_source.scoreboard.objective": "Objective ID", - "create.data_source.scoreboard.objective_not_found": "'%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "Player Deaths", - "create.data_source.time_of_day": "Time of Day", - "create.data_source.stop_watch": "Stopwatch", - "create.data_source.time.format": "Time Format", - "create.data_source.time.12_hour": "12-hour", - "create.data_source.time.24_hour": "24-hour", - "create.data_source.accumulate_items": "Accumulate Item Count", - "create.data_source.item_throughput": "Item Throughput", - "create.data_source.item_throughput.interval": "Interval", - "create.data_source.item_throughput.interval.second": "per Second", - "create.data_source.item_throughput.interval.minute": "per Minute", - "create.data_source.item_throughput.interval.hour": "per Hour", - "create.data_source.station_summary": "Train Station Summary", - "create.data_source.station_summary.filter": "Station name filter", - "create.data_source.station_summary.train_name_column": "Train column size", - "create.data_source.station_summary.platform_column": "Platform column size", - "create.data_source.station_summary.now": "now", - "create.data_source.station_summary.minutes": " min", - "create.data_source.station_summary.seconds": "%1$ss", + "create.display_source.label": "Attached Label", + "create.display_source.combine_item_names": "Combine Item Names", + "create.display_source.count_items": "Amount of matching Items", + "create.display_source.list_items": "List matching Items", + "create.display_source.nixie_tube": "Copy Nixie Tubes", + "create.display_source.fill_level": "Container Fill Level", + "create.display_source.fill_level.display": "Display Format", + "create.display_source.fill_level.percent": "Percent", + "create.display_source.fill_level.progress_bar": "Progress Bar", + "create.display_source.value_list.display": "Value Display", + "create.display_source.value_list.shortened": "Shortened", + "create.display_source.value_list.full_number": "Full Number", + "create.display_source.value_list.thousand": "k", + "create.display_source.value_list.million": "m", + "create.display_source.player_deaths": "Player Deaths", + "create.display_source.scoreboard": "Scoreboard", + "create.display_source.scoreboard.objective": "Objective ID", + "create.display_source.scoreboard.objective_not_found": "'%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "Player Deaths", + "create.display_source.time_of_day": "Time of Day", + "create.display_source.stop_watch": "Stopwatch", + "create.display_source.time.format": "Time Format", + "create.display_source.time.12_hour": "12-hour", + "create.display_source.time.24_hour": "24-hour", + "create.display_source.accumulate_items": "Accumulate Item Count", + "create.display_source.item_throughput": "Item Throughput", + "create.display_source.item_throughput.interval": "Interval", + "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.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", + "create.display_source.station_summary.platform_column": "Platform column size", + "create.display_source.station_summary.now": "now", + "create.display_source.station_summary.minutes": " min", + "create.display_source.station_summary.seconds": "%1$ss", - "create.data_target.line": "Line %1$s", - "create.data_target.page": "Page %1$s", - "create.data_target.single_line": "Single Line", + "create.display_target.line": "Line %1$s", + "create.display_target.page": "Page %1$s", + "create.display_target.single_line": "Single Line", "create.flap_display.cycles.alphabet": " ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9", 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 9fe22059d..c74ec6d7c 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Türkiser Ventilgriff", "block.create.dark_oak_window": "Schwarzeichenholzfenster", "block.create.dark_oak_window_pane": "Schwarzeichenholzfensterscheibe", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "Einsatzgerät", "block.create.depot": "Depot", "block.create.diorite_pillar": "Dioritsäule", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Ummantelter Kettenriemen", "block.create.encased_fan": "Ummantelter Lüfter", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 88da16e32..dd455bf57 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_cl.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_cl.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Válvula Cian", "block.create.dark_oak_window": "Ventana de Roble Oscuro", "block.create.dark_oak_window_pane": "Panel de Ventana de Roble Oscuro", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "Desplegador", "block.create.depot": "Depósito", "block.create.diorite_pillar": "Pilar de Diorita", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Conductor en Cadena Encubierto", "block.create.encased_fan": "Ventilador Encubierto", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 cbf678d2a..7ce9b1c44 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Asa de válvula cian", "block.create.dark_oak_window": "Ventana de roble oscuro", "block.create.dark_oak_window_pane": "Panel de ventana de roble oscuro", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "Pilar de pizarra profunda", "block.create.deepslate_zinc_ore": "Mena de cinc de pizarra profunda", "block.create.deployer": "Desplegador", "block.create.depot": "Depósito", "block.create.diorite_pillar": "Pilar de diorita", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "Pilar de espeleotema", "block.create.encased_chain_drive": "Cadena de transmisión revestida", "block.create.encased_fan": "Ventilador revestido", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 13f2cc4e3..9d6bb7663 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Vanne cyan", "block.create.dark_oak_window": "fenêtre en chêne sombre", "block.create.dark_oak_window_pane": "Vitre en chêne sombre", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "Déployeur", "block.create.depot": "Dépot", "block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Chaine de transmission", "block.create.encased_fan": "Ventilateur enchâssé", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 df6a738c6..689e41cfa 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Maniglia per valvola ciano", "block.create.dark_oak_window": "Finestra di quercia scura", "block.create.dark_oak_window_pane": "Pannello di finestra di quercia scura", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "Installatore", "block.create.depot": "Deposito", "block.create.diorite_pillar": "Pilastro di diorite", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Trasmissione a catena incassata", "block.create.encased_fan": "Ventilatore incassato", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 dda9a8ef5..ad31b4faf 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "水色のバルブハンドル", "block.create.dark_oak_window": "ダークオークの窓", "block.create.dark_oak_window_pane": "ダークオークの板窓", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "深層岩の柱", "block.create.deepslate_zinc_ore": "深層亜鉛鉱石", "block.create.deployer": "デプロイヤー", "block.create.depot": "デポ", "block.create.diorite_pillar": "閃緑岩の柱", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "鍾乳石の柱", "block.create.encased_chain_drive": "ケース入りチェーンドライブ", "block.create.encased_fan": "ケース入りファン", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 edb7137fc..c1cde6479 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "청록색 밸브 손잡이", "block.create.dark_oak_window": "짙은 참나무 유리창", "block.create.dark_oak_window_pane": "짙은 참나무 유리판", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "심층암 기둥", "block.create.deepslate_zinc_ore": "심층암 아연 광석", "block.create.deployer": "기계 손", "block.create.depot": "아이템 거치대", "block.create.diorite_pillar": "섬록암 기둥", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "점적석 기둥", "block.create.encased_chain_drive": "체인 드라이브", "block.create.encased_fan": "선풍기", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 a714167ff..44415d732 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "UNLOCALIZED: Cyan Valve Handle", "block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window", "block.create.dark_oak_window_pane": "UNLOCALIZED: Dark Oak Window Pane", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "UNLOCALIZED: Deployer", "block.create.depot": "UNLOCALIZED: Depot", "block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "UNLOCALIZED: Encased Chain Drive", "block.create.encased_fan": "Omhulsde Ventilator", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 daaed4897..9bfc4bf3e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Błękitne pokrętło", "block.create.dark_oak_window": "Ciemnodębowe okno", "block.create.dark_oak_window_pane": "Ciemnodębowa szyba okienna", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "Aplikator", "block.create.depot": "Składnica", "block.create.diorite_pillar": "Diorytowy filar", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Izolowany przekaźnik łańcuchowy", "block.create.encased_fan": "Izolowany wiatrak", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 7f26447d9..a67ec32cd 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Válvula ciano", "block.create.dark_oak_window": "Janela de carvalho escuro", "block.create.dark_oak_window_pane": "Vidraça de carvalho escuro", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "Pilar de ardósia", "block.create.deepslate_zinc_ore": "Minério de zinco de ardósia", "block.create.deployer": "Implantador", "block.create.depot": "Depósito", "block.create.diorite_pillar": "Pilar de diorito", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "Pilar de espeleotema", "block.create.encased_chain_drive": "Correia Revestida", "block.create.encased_fan": "Ventilador Revestida", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 24ee64f31..9136e1d33 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_pt.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_pt.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Manopla de válvula ciano", "block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window", "block.create.dark_oak_window_pane": "UNLOCALIZED: Dark Oak Window Pane", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "Deepslate zinc ore", "block.create.deployer": "Implantador", "block.create.depot": "Depósito", "block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Correia Revestida", "block.create.encased_fan": "Ventilador Revestida", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 838c56bda..2a30f5140 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ro_ro.json +++ b/src/generated/resources/assets/create/lang/unfinished/ro_ro.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Mâner De Supapă Turcoaz", "block.create.dark_oak_window": "Sticlă De Stejar Negru", "block.create.dark_oak_window_pane": "Geam De Stejar Negru", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "Coloană De Deepslate", "block.create.deepslate_zinc_ore": "Minereu De Zinc De Adâncime", "block.create.deployer": "Deployer", "block.create.depot": "Depot", "block.create.diorite_pillar": "Coloană De Diorit", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "Coloană De Dripstone", "block.create.encased_chain_drive": "Lanț De Distribuție Încapsulat", "block.create.encased_fan": "Ventilator Încapsulat", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 ff8631f41..a6ce7a74d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "Бирюзовый ручной вентиль", "block.create.dark_oak_window": "Окно из тёмного дуба", "block.create.dark_oak_window_pane": "Панель из окна из тёмного дуб", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "Автономный активатор", "block.create.depot": "Депо", "block.create.diorite_pillar": "Диоритовая колонна", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "Цепной привод в корпусе", "block.create.encased_fan": "Вентилятор в корпусе", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 f2973e25f..a31c106e6 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "青色阀门手轮", "block.create.dark_oak_window": "深色橡木窗户", "block.create.dark_oak_window_pane": "深色橡木窗户板", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "深板岩柱", "block.create.deepslate_zinc_ore": "深层锌矿石", "block.create.deployer": "机械手", "block.create.depot": "置物台", "block.create.diorite_pillar": "闪长岩柱", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "滴水石柱", "block.create.encased_chain_drive": "链式传动箱", "block.create.encased_fan": "鼓风机", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", 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 9079e4385..5528fc503 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -193,13 +193,13 @@ "block.create.cyan_valve_handle": "藍綠色閥門開關", "block.create.dark_oak_window": "黑橡木窗戶", "block.create.dark_oak_window_pane": "黑橡木窗戶片", - "block.create.data_gatherer": "UNLOCALIZED: Data Gatherer", "block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar", "block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore", "block.create.deployer": "機器手", "block.create.depot": "置物臺", "block.create.diorite_pillar": "豎紋閃長岩", "block.create.display_board": "UNLOCALIZED: Display Board", + "block.create.display_link": "UNLOCALIZED: Display Link", "block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar", "block.create.encased_chain_drive": "鏈式傳動箱", "block.create.encased_fan": "鼓風機", @@ -1467,64 +1467,64 @@ "create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption", "create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s", - "create.data_gatherer.set": "UNLOCALIZED: Targeted position selected", - "create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position", - "create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection", - "create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here", - "create.data_gatherer.invalid": "UNLOCALIZED: Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "UNLOCALIZED: Data Gatherer", - "create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source", - "create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target", - "create.data_gatherer.reading_from": "UNLOCALIZED: Read from:", - "create.data_gatherer.writing_to": "UNLOCALIZED: Send to:", - "create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side", - "create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location", - "create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible", - "create.data_gatherer.information_type": "UNLOCALIZED: Type of Information", - "create.data_gatherer.display_on": "UNLOCALIZED: Write data to:", - "create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:", + "create.display_link.set": "UNLOCALIZED: Targeted position selected", + "create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position", + "create.display_link.clear": "UNLOCALIZED: Cleared position selection", + "create.display_link.too_far": "UNLOCALIZED: Targeted position is too far from here", + "create.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again", + "create.display_link.title": "UNLOCALIZED: Display Link", + "create.display_link.no_source": "UNLOCALIZED: Not a Display Source", + "create.display_link.no_target": "UNLOCALIZED: Not a Display Target", + "create.display_link.reading_from": "UNLOCALIZED: Read from:", + "create.display_link.writing_to": "UNLOCALIZED: Send to:", + "create.display_link.attached_side": "UNLOCALIZED: Block on attached side", + "create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location", + "create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible", + "create.display_link.information_type": "UNLOCALIZED: Type of Information", + "create.display_link.display_on": "UNLOCALIZED: Write data to:", + "create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:", - "create.data_source.label": "UNLOCALIZED: Attached Label", - "create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names", - "create.data_source.count_items": "UNLOCALIZED: Amount of matching Items", - "create.data_source.list_items": "UNLOCALIZED: List matching Items", - "create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", - "create.data_source.fill_level": "UNLOCALIZED: Container Fill Level", - "create.data_source.fill_level.display": "UNLOCALIZED: Display Format", - "create.data_source.fill_level.percent": "UNLOCALIZED: Percent", - "create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", - "create.data_source.value_list.display": "UNLOCALIZED: Value Display", - "create.data_source.value_list.shortened": "UNLOCALIZED: Shortened", - "create.data_source.value_list.full_number": "UNLOCALIZED: Full Number", - "create.data_source.value_list.thousand": "UNLOCALIZED: k", - "create.data_source.value_list.million": "UNLOCALIZED: m", - "create.data_source.player_deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.scoreboard": "UNLOCALIZED: Scoreboard", - "create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID", - "create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", - "create.data_source.time_of_day": "UNLOCALIZED: Time of Day", - "create.data_source.stop_watch": "UNLOCALIZED: Stopwatch", - "create.data_source.time.format": "UNLOCALIZED: Time Format", - "create.data_source.time.12_hour": "UNLOCALIZED: 12-hour", - "create.data_source.time.24_hour": "UNLOCALIZED: 24-hour", - "create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", - "create.data_source.item_throughput": "UNLOCALIZED: Item Throughput", - "create.data_source.item_throughput.interval": "UNLOCALIZED: Interval", - "create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second", - "create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute", - "create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour", - "create.data_source.station_summary": "UNLOCALIZED: Train Station Summary", - "create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter", - "create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size", - "create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", - "create.data_source.station_summary.now": "UNLOCALIZED: now", - "create.data_source.station_summary.minutes": "UNLOCALIZED: min", - "create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss", + "create.display_source.label": "UNLOCALIZED: Attached Label", + "create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names", + "create.display_source.count_items": "UNLOCALIZED: Amount of matching Items", + "create.display_source.list_items": "UNLOCALIZED: List matching Items", + "create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes", + "create.display_source.fill_level": "UNLOCALIZED: Container Fill Level", + "create.display_source.fill_level.display": "UNLOCALIZED: Display Format", + "create.display_source.fill_level.percent": "UNLOCALIZED: Percent", + "create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar", + "create.display_source.value_list.display": "UNLOCALIZED: Value Display", + "create.display_source.value_list.shortened": "UNLOCALIZED: Shortened", + "create.display_source.value_list.full_number": "UNLOCALIZED: Full Number", + "create.display_source.value_list.thousand": "UNLOCALIZED: k", + "create.display_source.value_list.million": "UNLOCALIZED: m", + "create.display_source.player_deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.scoreboard": "UNLOCALIZED: Scoreboard", + "create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID", + "create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths", + "create.display_source.time_of_day": "UNLOCALIZED: Time of Day", + "create.display_source.stop_watch": "UNLOCALIZED: Stopwatch", + "create.display_source.time.format": "UNLOCALIZED: Time Format", + "create.display_source.time.12_hour": "UNLOCALIZED: 12-hour", + "create.display_source.time.24_hour": "UNLOCALIZED: 24-hour", + "create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count", + "create.display_source.item_throughput": "UNLOCALIZED: Item Throughput", + "create.display_source.item_throughput.interval": "UNLOCALIZED: Interval", + "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.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", + "create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size", + "create.display_source.station_summary.now": "UNLOCALIZED: now", + "create.display_source.station_summary.minutes": "UNLOCALIZED: min", + "create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss", - "create.data_target.line": "UNLOCALIZED: Line %1$s", - "create.data_target.page": "UNLOCALIZED: Page %1$s", - "create.data_target.single_line": "UNLOCALIZED: Single Line", + "create.display_target.line": "UNLOCALIZED: Line %1$s", + "create.display_target.page": "UNLOCALIZED: Page %1$s", + "create.display_target.single_line": "UNLOCALIZED: Single Line", "create.flap_display.cycles.alphabet": "UNLOCALIZED: ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9", diff --git a/src/generated/resources/assets/create/models/item/data_gatherer.json b/src/generated/resources/assets/create/models/item/data_gatherer.json deleted file mode 100644 index 1d77a8539..000000000 --- a/src/generated/resources/assets/create/models/item/data_gatherer.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "create:block/data_gatherer/block" -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/display_link.json b/src/generated/resources/assets/create/models/item/display_link.json new file mode 100644 index 000000000..4f4a12894 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/display_link.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/display_link/block" +} \ No newline at end of file diff --git a/src/generated/resources/data/create/loot_tables/blocks/data_gatherer.json b/src/generated/resources/data/create/loot_tables/blocks/display_link.json similarity index 87% rename from src/generated/resources/data/create/loot_tables/blocks/data_gatherer.json rename to src/generated/resources/data/create/loot_tables/blocks/display_link.json index 80db2642a..144d683e9 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/data_gatherer.json +++ b/src/generated/resources/data/create/loot_tables/blocks/display_link.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "create:data_gatherer" + "name": "create:display_link" } ], "conditions": [ diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java index 3a3264bf7..3ba6dbdbe 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -126,7 +126,7 @@ public class AllBlockPartials { BOILER_GAUGE_DIAL = block("steam_engine/gauge_dial"), SIGNAL_ON = block("track_signal/indicator_on"), SIGNAL_OFF = block("track_signal/indicator_off"), - DATA_GATHERER_TUBE = block("data_gatherer/tube"), DATA_GATHERER_GLOW = block("data_gatherer/glow"), + DISPLAY_LINK_TUBE = block("display_link/tube"), DISPLAY_LINK_GLOW = block("display_link/glow"), STATION_ON = block("track_station/flag_on"), STATION_OFF = block("track_station/flag_off"), STATION_ASSEMBLE = block("track_station/flag_assemble"), diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 44b1fdb71..28b67f1a3 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -7,7 +7,7 @@ import static com.simibubi.create.AllTags.axeOrPickaxe; import static com.simibubi.create.AllTags.pickaxeOnly; import static com.simibubi.create.AllTags.tagBlockAndItem; import static com.simibubi.create.content.AllSections.SCHEMATICS; -import static com.simibubi.create.content.logistics.block.data.AllDataGathererBehaviours.assignDataBehaviour; +import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviour; import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock; import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; import static com.simibubi.create.foundation.data.ModelGen.customItemModel; @@ -144,18 +144,6 @@ import com.simibubi.create.content.logistics.block.chute.ChuteBlock; import com.simibubi.create.content.logistics.block.chute.ChuteGenerator; import com.simibubi.create.content.logistics.block.chute.ChuteItem; import com.simibubi.create.content.logistics.block.chute.SmartChuteBlock; -import com.simibubi.create.content.logistics.block.data.DataGathererBlock; -import com.simibubi.create.content.logistics.block.data.DataGathererBlockItem; -import com.simibubi.create.content.logistics.block.data.source.AccumulatedItemCountDataSource; -import com.simibubi.create.content.logistics.block.data.source.FillLevelDataSource; -import com.simibubi.create.content.logistics.block.data.source.ItemCountDataSource; -import com.simibubi.create.content.logistics.block.data.source.ItemListDataSource; -import com.simibubi.create.content.logistics.block.data.source.ItemNameDataSource; -import com.simibubi.create.content.logistics.block.data.source.ItemThoughputDataSource; -import com.simibubi.create.content.logistics.block.data.source.StationSummaryDataSource; -import com.simibubi.create.content.logistics.block.data.source.StopWatchDataSource; -import com.simibubi.create.content.logistics.block.data.source.TimeOfDayDataSource; -import com.simibubi.create.content.logistics.block.data.target.FlapDisplayDataTarget; import com.simibubi.create.content.logistics.block.depot.DepotBlock; import com.simibubi.create.content.logistics.block.depot.EjectorBlock; import com.simibubi.create.content.logistics.block.depot.EjectorItem; @@ -166,6 +154,18 @@ import com.simibubi.create.content.logistics.block.diodes.PoweredLatchBlock; import com.simibubi.create.content.logistics.block.diodes.PoweredLatchGenerator; import com.simibubi.create.content.logistics.block.diodes.ToggleLatchBlock; import com.simibubi.create.content.logistics.block.diodes.ToggleLatchGenerator; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockItem; +import com.simibubi.create.content.logistics.block.display.source.AccumulatedItemCountDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.FillLevelDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.ItemCountDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.ItemListDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.ItemNameDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.ItemThoughputDisplaySource; +import com.simibubi.create.content.logistics.block.display.source.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.target.DisplayBoardTarget; import com.simibubi.create.content.logistics.block.funnel.AndesiteFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock; import com.simibubi.create.content.logistics.block.funnel.BeltFunnelGenerator; @@ -443,7 +443,7 @@ public class AllBlocks { .transform(axeOrPickaxe()) .blockstate(new BeltGenerator()::generate) .transform(BlockStressDefaults.setImpact(0)) - .onRegister(assignDataBehaviour(new ItemNameDataSource(), "combine_item_names")) + .onRegister(assignDataBehaviour(new ItemNameDisplaySource(), "combine_item_names")) .onRegister(CreateRegistrate.blockModel(() -> BeltModel::new)) .register(); @@ -512,8 +512,8 @@ public class AllBlocks { REGISTRATE.block("cuckoo_clock", CuckooClockBlock::regular) .transform(axeOrPickaxe()) .transform(BuilderTransformers.cuckooClock()) - .onRegister(assignDataBehaviour(new TimeOfDayDataSource(), "time_of_day")) - .onRegister(assignDataBehaviour(new StopWatchDataSource(), "stop_watch")) + .onRegister(assignDataBehaviour(new TimeOfDayDisplaySource(), "time_of_day")) + .onRegister(assignDataBehaviour(new StopWatchDisplaySource(), "stop_watch")) .register(); public static final BlockEntry MYSTERIOUS_CUCKOO_CLOCK = @@ -627,7 +627,7 @@ public class AllBlocks { .initialProperties(SharedProperties::stone) .transform(axeOrPickaxe()) .blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p))) - .onRegister(assignDataBehaviour(new ItemNameDataSource(), "combine_item_names")) + .onRegister(assignDataBehaviour(new ItemNameDisplaySource(), "combine_item_names")) .item() .transform(customItemModel("_", "block")) .register(); @@ -639,7 +639,7 @@ public class AllBlocks { .transform(axeOrPickaxe()) .blockstate((c, p) -> p.horizontalBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p), 180)) .transform(BlockStressDefaults.setImpact(2.0)) - .onRegister(assignDataBehaviour(new ItemNameDataSource(), "combine_item_names")) + .onRegister(assignDataBehaviour(new ItemNameDisplaySource(), "combine_item_names")) .item(EjectorItem::new) .transform(customItemModel()) .register(); @@ -1360,7 +1360,7 @@ public class AllBlocks { .properties(p -> p.sound(SoundType.NETHERITE_BLOCK)) .transform(axeOrPickaxe()) .blockstate((c, p) -> p.simpleBlock(c.get(), AssetLookup.partialBaseModel(c, p))) - .onRegister(assignDataBehaviour(new StationSummaryDataSource(), "station_summary")) + .onRegister(assignDataBehaviour(new StationSummaryDisplaySource(), "station_summary")) .lang("Train Station") .item(TrackTargetingBlockItem::new) .transform(customItemModel()) @@ -1463,13 +1463,13 @@ public class AllBlocks { public static final BlockEntry ANDESITE_TUNNEL = REGISTRATE.block("andesite_tunnel", BeltTunnelBlock::new) .transform(BuilderTransformers.beltTunnel("andesite", new ResourceLocation("block/polished_andesite"))) - .onRegister(assignDataBehaviour(new AccumulatedItemCountDataSource(), "accumulate_items")) + .onRegister(assignDataBehaviour(new AccumulatedItemCountDisplaySource(), "accumulate_items")) .register(); public static final BlockEntry BRASS_TUNNEL = REGISTRATE.block("brass_tunnel", BrassTunnelBlock::new) .transform(BuilderTransformers.beltTunnel("brass", Create.asResource("block/brass_block"))) - .onRegister(assignDataBehaviour(new ItemThoughputDataSource(), "item_throughput")) + .onRegister(assignDataBehaviour(new ItemThoughputDisplaySource(), "item_throughput")) .onRegister(connectedTextures(BrassTunnelCTBehaviour::new)) .register(); @@ -1478,8 +1478,8 @@ public class AllBlocks { .initialProperties(SharedProperties::stone) .transform(axeOrPickaxe()) .blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.forPowered(c, p))) - .onRegister(assignDataBehaviour(new ItemCountDataSource(), "count_items")) - .onRegister(assignDataBehaviour(new ItemListDataSource(), "list_items")) + .onRegister(assignDataBehaviour(new ItemCountDisplaySource(), "count_items")) + .onRegister(assignDataBehaviour(new ItemListDisplaySource(), "list_items")) .item() .transform(customItemModel("_", "block")) .register(); @@ -1490,7 +1490,7 @@ public class AllBlocks { .transform(axeOrPickaxe()) .blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.withIndicator(c, p, $ -> AssetLookup.standardModel(c, p), StockpileSwitchBlock.INDICATOR))) - .onRegister(assignDataBehaviour(new FillLevelDataSource(), "fill_level")) + .onRegister(assignDataBehaviour(new FillLevelDisplaySource(), "fill_level")) .simpleItem() .register(); @@ -1500,23 +1500,23 @@ public class AllBlocks { .tag(AllBlockTags.SAFE_NBT.tag) .register(); - public static final BlockEntry DATA_GATHERER = - REGISTRATE.block("data_gatherer", DataGathererBlock::new) + public static final BlockEntry DISPLAY_LINK = + REGISTRATE.block("display_link", DisplayLinkBlock::new) .initialProperties(SharedProperties::softMetal) .addLayer(() -> RenderType::translucent) .blockstate((c, p) -> p.directionalBlock(c.get(), AssetLookup.forPowered(c, p))) - .item(DataGathererBlockItem::new) + .item(DisplayLinkBlockItem::new) .transform(customItemModel("_", "block")) .register(); - public static final BlockEntry FLAP_DISPLAY = + public static final BlockEntry DISPLAY_BOARD = REGISTRATE.block("display_board", FlapDisplayBlock::new) .initialProperties(SharedProperties::softMetal) .addLayer(() -> RenderType::cutoutMipped) .transform(pickaxeOnly()) .transform(BlockStressDefaults.setImpact(0)) .blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.partialBaseModel(c, p))) - .onRegister(assignDataBehaviour(new FlapDisplayDataTarget())) + .onRegister(assignDataBehaviour(new DisplayBoardTarget())) .lang("Display Board") .item() .transform(customItemModel()) diff --git a/src/main/java/com/simibubi/create/AllTileEntities.java b/src/main/java/com/simibubi/create/AllTileEntities.java index 0ca4afabb..9fa0728d7 100644 --- a/src/main/java/com/simibubi/create/AllTileEntities.java +++ b/src/main/java/com/simibubi/create/AllTileEntities.java @@ -1,6 +1,6 @@ package com.simibubi.create; -import static com.simibubi.create.content.logistics.block.data.AllDataGathererBehaviours.assignDataBehaviourTE; +import static com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours.assignDataBehaviourTE; import com.simibubi.create.content.contraptions.base.CutoutRotatingInstance; import com.simibubi.create.content.contraptions.base.HalfShaftInstance; @@ -144,10 +144,6 @@ import com.simibubi.create.content.logistics.block.chute.ChuteRenderer; import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity; import com.simibubi.create.content.logistics.block.chute.SmartChuteRenderer; import com.simibubi.create.content.logistics.block.chute.SmartChuteTileEntity; -import com.simibubi.create.content.logistics.block.data.DataGathererRenderer; -import com.simibubi.create.content.logistics.block.data.DataGathererTileEntity; -import com.simibubi.create.content.logistics.block.data.source.NixieTubeDataSource; -import com.simibubi.create.content.logistics.block.data.target.NixieTubeDataTarget; import com.simibubi.create.content.logistics.block.depot.DepotRenderer; import com.simibubi.create.content.logistics.block.depot.DepotTileEntity; import com.simibubi.create.content.logistics.block.depot.EjectorInstance; @@ -157,6 +153,10 @@ import com.simibubi.create.content.logistics.block.diodes.BrassDiodeInstance; import com.simibubi.create.content.logistics.block.diodes.BrassDiodeRenderer; import com.simibubi.create.content.logistics.block.diodes.PulseExtenderTileEntity; import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterTileEntity; +import com.simibubi.create.content.logistics.block.display.DisplayLinkRenderer; +import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; +import com.simibubi.create.content.logistics.block.display.source.NixieTubeDisplaySource; +import com.simibubi.create.content.logistics.block.display.target.NixieTubeDisplayTarget; import com.simibubi.create.content.logistics.block.funnel.FunnelInstance; import com.simibubi.create.content.logistics.block.funnel.FunnelRenderer; import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity; @@ -665,14 +665,14 @@ public class AllTileEntities { .validBlocks(AllBlocks.ORANGE_NIXIE_TUBE) .validBlocks(AllBlocks.NIXIE_TUBES.toArray()) .renderer(() -> NixieTubeRenderer::new) - .onRegister(assignDataBehaviourTE(new NixieTubeDataTarget())) - .onRegister(assignDataBehaviourTE(new NixieTubeDataSource())) + .onRegister(assignDataBehaviourTE(new NixieTubeDisplayTarget())) + .onRegister(assignDataBehaviourTE(new NixieTubeDisplaySource())) .register(); - public static final BlockEntityEntry DATA_GATHERER = Create.registrate() - .tileEntity("data_gatherer", DataGathererTileEntity::new) - .validBlocks(AllBlocks.DATA_GATHERER) - .renderer(() -> DataGathererRenderer::new) + public static final BlockEntityEntry DISPLAY_LINK = Create.registrate() + .tileEntity("display_link", DisplayLinkTileEntity::new) + .validBlocks(AllBlocks.DISPLAY_LINK) + .renderer(() -> DisplayLinkRenderer::new) .register(); public static final BlockEntityEntry STOCKPILE_SWITCH = Create.registrate() @@ -784,7 +784,7 @@ public class AllTileEntities { .tileEntity("flap_display", FlapDisplayTileEntity::new) .instance(() -> MechanicalCrafterInstance::new) .renderer(() -> FlapDisplayRenderer::new) - .validBlocks(AllBlocks.FLAP_DISPLAY) + .validBlocks(AllBlocks.DISPLAY_BOARD) .register(); public static final BlockEntityEntry TRACK_SIGNAL = Create.registrate() diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index e5eadc1b3..1d124adf2 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -12,7 +12,7 @@ import com.simibubi.create.content.CreateItemGroup; import com.simibubi.create.content.contraptions.TorquePropagator; import com.simibubi.create.content.curiosities.weapons.BuiltinPotatoProjectileTypes; import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler; -import com.simibubi.create.content.logistics.block.data.AllDataGathererBehaviours; +import com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours; import com.simibubi.create.content.logistics.trains.GlobalRailwayManager; import com.simibubi.create.content.palettes.AllPaletteBlocks; import com.simibubi.create.content.palettes.PalettesItemGroup; @@ -96,7 +96,7 @@ public class Create { AllEntityTypes.register(); AllTileEntities.register(); AllMovementBehaviours.register(); - AllDataGathererBehaviours.register(); + AllDisplayBehaviours.register(); AllInteractionBehaviours.register(); AllWorldFeatures.register(); AllEnchantments.register(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/interaction/controls/ControlsRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/interaction/controls/ControlsRenderer.java index 1ed4eaf63..6bbfe9b0a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/interaction/controls/ControlsRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/interaction/controls/ControlsRenderer.java @@ -33,7 +33,7 @@ public class ControlsRenderer { .rotateY(hAngle) .unCentre() .light(matrices.getWorld(), ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld)) - .renderInto(matrices.getViewProjection(), buffer.getBuffer(RenderType.solid())); + .renderInto(matrices.getViewProjection(), buffer.getBuffer(RenderType.cutoutMipped())); double yOffset = Mth.lerp(equipAnimation * equipAnimation, -0.15f, 0.05f); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java index c70ff7ba0..ab1c46c40 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/transport/BeltTunnelInteractionHandler.java @@ -9,8 +9,8 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEntity; import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity; -import com.simibubi.create.content.logistics.block.data.DataGathererBlock; -import com.simibubi.create.content.logistics.block.data.source.AccumulatedItemCountDataSource; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; +import com.simibubi.create.content.logistics.block.display.source.AccumulatedItemCountDisplaySource; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour; import com.simibubi.create.foundation.utility.Iterate; @@ -104,8 +104,8 @@ public class BeltTunnelInteractionHandler { flapTunnel(beltInventory, upcomingSegment, movementFacing.getOpposite(), true); if (nextTunnel != null) - DataGathererBlock.sendToGatherers(world, nextTunnel.getBlockPos(), - (dgte, b) -> b.itemReceived(dgte, transferred), AccumulatedItemCountDataSource.class); + DisplayLinkBlock.sendToGatherers(world, nextTunnel.getBlockPos(), + (dgte, b) -> b.itemReceived(dgte, transferred), AccumulatedItemCountDisplaySource.class); } if (removed) diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/AllDataGathererBehaviours.java b/src/main/java/com/simibubi/create/content/logistics/block/data/AllDataGathererBehaviours.java deleted file mode 100644 index 54f828fbf..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/AllDataGathererBehaviours.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.simibubi.create.content.logistics.block.data; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; - -import javax.annotation.Nullable; - -import com.simibubi.create.Create; -import com.simibubi.create.content.logistics.block.data.source.DataGathererSource; -import com.simibubi.create.content.logistics.block.data.source.DeathCounterDataSource; -import com.simibubi.create.content.logistics.block.data.source.ScoreboardDataSource; -import com.simibubi.create.content.logistics.block.data.target.DataGathererTarget; -import com.simibubi.create.content.logistics.block.data.target.LecternDataTarget; -import com.simibubi.create.content.logistics.block.data.target.SignDataTarget; -import com.tterrag.registrate.util.nullness.NonNullConsumer; - -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.BlockState; - -public class AllDataGathererBehaviours { - - public static final HashMap - - GATHERER_BEHAVIOURS = new HashMap<>(); - - public static final HashMap> - - SOURCES_BY_BLOCK = new HashMap<>(), SOURCES_BY_TILE = new HashMap<>(); - - public static final HashMap - - TARGETS_BY_BLOCK = new HashMap<>(), TARGETS_BY_TILE = new HashMap<>(); - - public static DataGathererBehaviour register(ResourceLocation id, DataGathererBehaviour behaviour) { - if (GATHERER_BEHAVIOURS.containsKey(id)) - Create.LOGGER.warn("Data Gatherer Behaviour for " + id.toString() + " was overridden"); - behaviour.id = id; - GATHERER_BEHAVIOURS.put(id, behaviour); - return behaviour; - } - - public static void assign(DataGathererBehaviour behaviour, Block block) { - assignBlock(behaviour, block.getRegistryName()); - } - - public static void assign(DataGathererBehaviour behaviour, BlockEntityType teType) { - assignTileEntity(behaviour, teType.getRegistryName()); - } - - public static void assignBlock(DataGathererBehaviour behaviour, ResourceLocation blockId) { - if (behaviour instanceof DataGathererSource source) - SOURCES_BY_BLOCK.computeIfAbsent(blockId, r -> new ArrayList<>()) - .add(source); - if (behaviour instanceof DataGathererTarget target) - TARGETS_BY_BLOCK.put(blockId, target); - } - - public static void assignTileEntity(DataGathererBehaviour behaviour, ResourceLocation tileId) { - if (behaviour instanceof DataGathererSource source) - SOURCES_BY_TILE.computeIfAbsent(tileId, r -> new ArrayList<>()) - .add(source); - if (behaviour instanceof DataGathererTarget target) - TARGETS_BY_TILE.put(tileId, target); - } - - public static NonNullConsumer assignDataBehaviour(DataGathererBehaviour behaviour, - String... suffix) { - return b -> { - ResourceLocation registryName = b.getRegistryName(); - String idSuffix = behaviour instanceof DataGathererSource ? "_source" : "_target"; - if (suffix.length > 0) - idSuffix += "_" + suffix[0]; - assignBlock(register(new ResourceLocation(registryName.getNamespace(), registryName.getPath() + idSuffix), - behaviour), registryName); - }; - } - - public static > NonNullConsumer assignDataBehaviourTE( - DataGathererBehaviour behaviour, String... suffix) { - return b -> { - ResourceLocation registryName = b.getRegistryName(); - String idSuffix = behaviour instanceof DataGathererSource ? "_source" : "_target"; - if (suffix.length > 0) - idSuffix += "_" + suffix[0]; - assignTileEntity( - register(new ResourceLocation(registryName.getNamespace(), registryName.getPath() + idSuffix), - behaviour), - registryName); - }; - } - - // - - @Nullable - public static DataGathererSource getSource(ResourceLocation resourceLocation) { - DataGathererBehaviour available = GATHERER_BEHAVIOURS.getOrDefault(resourceLocation, null); - if (available instanceof DataGathererSource source) - return source; - return null; - } - - @Nullable - public static DataGathererTarget getTarget(ResourceLocation resourceLocation) { - DataGathererBehaviour available = GATHERER_BEHAVIOURS.getOrDefault(resourceLocation, null); - if (available instanceof DataGathererTarget target) - return target; - return null; - } - - // - - @Nullable - public static List sourcesOf(LevelAccessor level, BlockPos pos) { - BlockState blockState = level.getBlockState(pos); - BlockEntity blockEntity = level.getBlockEntity(pos); - - List sourcesOfBlock = sourcesOf(blockState); - List sourcesOfTE = blockEntity == null ? Collections.emptyList() : sourcesOf(blockEntity); - - if (sourcesOfTE.isEmpty()) - return sourcesOfBlock; - return sourcesOfTE; - } - - @Nullable - public static DataGathererTarget targetOf(LevelAccessor level, BlockPos pos) { - BlockState blockState = level.getBlockState(pos); - BlockEntity blockEntity = level.getBlockEntity(pos); - - DataGathererTarget targetOfBlock = targetOf(blockState); - DataGathererTarget targetOfTE = blockEntity == null ? null : targetOf(blockEntity); - - if (targetOfTE == null) - return targetOfBlock; - return targetOfTE; - } - - public static List sourcesOf(BlockState state) { - return sourcesOf(state.getBlock()); - } - - public static List sourcesOf(BlockEntity tileEntity) { - return SOURCES_BY_TILE.getOrDefault(tileEntity.getType() - .getRegistryName(), Collections.emptyList()); - } - - public static List sourcesOf(Block block) { - return SOURCES_BY_BLOCK.getOrDefault(block.getRegistryName(), Collections.emptyList()); - } - - @Nullable - public static DataGathererTarget targetOf(BlockState state) { - return targetOf(state.getBlock()); - } - - @Nullable - public static DataGathererTarget targetOf(BlockEntity tileEntity) { - return TARGETS_BY_TILE.get(tileEntity.getType() - .getRegistryName()); - } - - @Nullable - public static DataGathererTarget targetOf(Block block) { - return TARGETS_BY_BLOCK.get(block.getRegistryName()); - } - - // - - public static void register() { - assign(register(Create.asResource("sign_data_target"), new SignDataTarget()), BlockEntityType.SIGN); - assign(register(Create.asResource("lectern_data_target"), new LecternDataTarget()), BlockEntityType.LECTERN); - assign(register(Create.asResource("death_count_data_source"), new DeathCounterDataSource()), - Blocks.RESPAWN_ANCHOR); - assign(register(Create.asResource("scoreboard_data_source"), new ScoreboardDataSource()), - BlockEntityType.COMMAND_BLOCK); - } -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBehaviour.java deleted file mode 100644 index 5bc21a0bd..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBehaviour.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.simibubi.create.content.logistics.block.data; - -import net.minecraft.resources.ResourceLocation; - -public abstract class DataGathererBehaviour { - - public ResourceLocation id; - -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/AccumulatedItemCountDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/data/source/AccumulatedItemCountDataSource.java deleted file mode 100644 index b28ca53bc..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/AccumulatedItemCountDataSource.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.simibubi.create.content.logistics.block.data.source; - -import com.simibubi.create.content.logistics.block.data.DataGathererBlock; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererTileEntity; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; - -import net.minecraft.network.chat.MutableComponent; -import net.minecraft.network.chat.TextComponent; - -public class AccumulatedItemCountDataSource extends NumericSingleLineDataSource { - - @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { - return new TextComponent(String.valueOf(context.sourceConfig() - .getInt("Collected"))); - } - - public void itemReceived(DataGathererTileEntity te, int amount) { - if (te.getBlockState() - .getOptionalValue(DataGathererBlock.POWERED) - .orElse(true)) - return; - - int collected = te.getSourceConfig() - .getInt("Collected"); - te.getSourceConfig() - .putInt("Collected", collected + amount); - te.updateGatheredData(); - } - - @Override - protected String getTranslationKey() { - return "accumulate_items"; - } - - @Override - public int getPassiveRefreshTicks() { - return 200; - } - - @Override - public void onSignalReset(DataGathererContext context) { - context.sourceConfig() - .remove("Collected"); - } - - @Override - protected boolean allowsLabeling(DataGathererContext context) { - return true; - } - -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/NumericSingleLineDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/data/source/NumericSingleLineDataSource.java deleted file mode 100644 index 44d3e360f..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/NumericSingleLineDataSource.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.simibubi.create.content.logistics.block.data.source; - -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; - -import net.minecraft.network.chat.TextComponent; - -public abstract class NumericSingleLineDataSource extends SingleLineDataSource { - - protected static final TextComponent ZERO = new TextComponent("0"); - - @Override - protected String getFlapDisplayLayoutName(DataGathererContext context) { - return "Number"; - } - - @Override - protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) { - return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "numeric", false, false); - } - -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/DataTargetStats.java b/src/main/java/com/simibubi/create/content/logistics/block/data/target/DataTargetStats.java deleted file mode 100644 index af4c19c89..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/DataTargetStats.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.simibubi.create.content.logistics.block.data.target; - -public record DataTargetStats(int maxRows, int maxColumns, DataGathererTarget type) { - -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/SingleLineDataTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/data/target/SingleLineDataTarget.java deleted file mode 100644 index 59248dd91..000000000 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/SingleLineDataTarget.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.simibubi.create.content.logistics.block.data.target; - -import java.util.List; - -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.foundation.utility.Lang; - -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.MutableComponent; - -public abstract class SingleLineDataTarget extends DataGathererTarget { - - @Override - public final void acceptText(int line, List text, DataGathererContext context) { - acceptLine(text.get(0), context); - } - - protected abstract void acceptLine(MutableComponent text, DataGathererContext context); - - @Override - public final DataTargetStats provideStats(DataGathererContext context) { - return new DataTargetStats(1, getWidth(context), this); - } - - @Override - public Component getLineOptionText(int line) { - return Lang.translate("data_target.single_line"); - } - - protected abstract int getWidth(DataGathererContext context); - -} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java b/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java new file mode 100644 index 000000000..1c90cd58f --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/AllDisplayBehaviours.java @@ -0,0 +1,185 @@ +package com.simibubi.create.content.logistics.block.display; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; + +import javax.annotation.Nullable; + +import com.simibubi.create.Create; +import com.simibubi.create.content.logistics.block.display.source.DeathCounterDataSource; +import com.simibubi.create.content.logistics.block.display.source.DisplaySource; +import com.simibubi.create.content.logistics.block.display.source.ScoreboardDisplaySource; +import com.simibubi.create.content.logistics.block.display.target.DisplayTarget; +import com.simibubi.create.content.logistics.block.display.target.LecternDisplayTarget; +import com.simibubi.create.content.logistics.block.display.target.SignDisplayTarget; +import com.tterrag.registrate.util.nullness.NonNullConsumer; + +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; + +public class AllDisplayBehaviours { + + public static final HashMap + + GATHERER_BEHAVIOURS = new HashMap<>(); + + public static final HashMap> + + SOURCES_BY_BLOCK = new HashMap<>(), SOURCES_BY_TILE = new HashMap<>(); + + public static final HashMap + + TARGETS_BY_BLOCK = new HashMap<>(), TARGETS_BY_TILE = new HashMap<>(); + + public static DisplayBehaviour register(ResourceLocation id, DisplayBehaviour behaviour) { + if (GATHERER_BEHAVIOURS.containsKey(id)) + Create.LOGGER.warn("Data Gatherer Behaviour for " + id.toString() + " was overridden"); + behaviour.id = id; + GATHERER_BEHAVIOURS.put(id, behaviour); + return behaviour; + } + + public static void assign(DisplayBehaviour behaviour, Block block) { + assignBlock(behaviour, block.getRegistryName()); + } + + public static void assign(DisplayBehaviour behaviour, BlockEntityType teType) { + assignTileEntity(behaviour, teType.getRegistryName()); + } + + public static void assignBlock(DisplayBehaviour behaviour, ResourceLocation blockId) { + if (behaviour instanceof DisplaySource source) + SOURCES_BY_BLOCK.computeIfAbsent(blockId, r -> new ArrayList<>()) + .add(source); + if (behaviour instanceof DisplayTarget target) + TARGETS_BY_BLOCK.put(blockId, target); + } + + public static void assignTileEntity(DisplayBehaviour behaviour, ResourceLocation tileId) { + if (behaviour instanceof DisplaySource source) + SOURCES_BY_TILE.computeIfAbsent(tileId, r -> new ArrayList<>()) + .add(source); + if (behaviour instanceof DisplayTarget target) + TARGETS_BY_TILE.put(tileId, target); + } + + public static NonNullConsumer assignDataBehaviour(DisplayBehaviour behaviour, + String... suffix) { + return b -> { + ResourceLocation registryName = b.getRegistryName(); + String idSuffix = behaviour instanceof DisplaySource ? "_source" : "_target"; + if (suffix.length > 0) + idSuffix += "_" + suffix[0]; + assignBlock(register(new ResourceLocation(registryName.getNamespace(), registryName.getPath() + idSuffix), + behaviour), registryName); + }; + } + + public static > NonNullConsumer assignDataBehaviourTE( + DisplayBehaviour behaviour, String... suffix) { + return b -> { + ResourceLocation registryName = b.getRegistryName(); + String idSuffix = behaviour instanceof DisplaySource ? "_source" : "_target"; + if (suffix.length > 0) + idSuffix += "_" + suffix[0]; + assignTileEntity( + register(new ResourceLocation(registryName.getNamespace(), registryName.getPath() + idSuffix), + behaviour), + registryName); + }; + } + + // + + @Nullable + public static DisplaySource getSource(ResourceLocation resourceLocation) { + DisplayBehaviour available = GATHERER_BEHAVIOURS.getOrDefault(resourceLocation, null); + if (available instanceof DisplaySource source) + return source; + return null; + } + + @Nullable + public static DisplayTarget getTarget(ResourceLocation resourceLocation) { + DisplayBehaviour available = GATHERER_BEHAVIOURS.getOrDefault(resourceLocation, null); + if (available instanceof DisplayTarget target) + return target; + return null; + } + + // + + @Nullable + public static List sourcesOf(LevelAccessor level, BlockPos pos) { + BlockState blockState = level.getBlockState(pos); + BlockEntity blockEntity = level.getBlockEntity(pos); + + List sourcesOfBlock = sourcesOf(blockState); + List sourcesOfTE = blockEntity == null ? Collections.emptyList() : sourcesOf(blockEntity); + + if (sourcesOfTE.isEmpty()) + return sourcesOfBlock; + return sourcesOfTE; + } + + @Nullable + public static DisplayTarget targetOf(LevelAccessor level, BlockPos pos) { + BlockState blockState = level.getBlockState(pos); + BlockEntity blockEntity = level.getBlockEntity(pos); + + DisplayTarget targetOfBlock = targetOf(blockState); + DisplayTarget targetOfTE = blockEntity == null ? null : targetOf(blockEntity); + + if (targetOfTE == null) + return targetOfBlock; + return targetOfTE; + } + + public static List sourcesOf(BlockState state) { + return sourcesOf(state.getBlock()); + } + + public static List sourcesOf(BlockEntity tileEntity) { + return SOURCES_BY_TILE.getOrDefault(tileEntity.getType() + .getRegistryName(), Collections.emptyList()); + } + + public static List sourcesOf(Block block) { + return SOURCES_BY_BLOCK.getOrDefault(block.getRegistryName(), Collections.emptyList()); + } + + @Nullable + public static DisplayTarget targetOf(BlockState state) { + return targetOf(state.getBlock()); + } + + @Nullable + public static DisplayTarget targetOf(BlockEntity tileEntity) { + return TARGETS_BY_TILE.get(tileEntity.getType() + .getRegistryName()); + } + + @Nullable + public static DisplayTarget targetOf(Block block) { + return TARGETS_BY_BLOCK.get(block.getRegistryName()); + } + + // + + public static void register() { + assign(register(Create.asResource("sign_display_target"), new SignDisplayTarget()), BlockEntityType.SIGN); + assign(register(Create.asResource("lectern_display_target"), new LecternDisplayTarget()), BlockEntityType.LECTERN); + assign(register(Create.asResource("death_count_display_source"), new DeathCounterDataSource()), + Blocks.RESPAWN_ANCHOR); + assign(register(Create.asResource("scoreboard_display_source"), new ScoreboardDisplaySource()), + BlockEntityType.COMMAND_BLOCK); + } +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayBehaviour.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayBehaviour.java new file mode 100644 index 000000000..712c85d6b --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayBehaviour.java @@ -0,0 +1,9 @@ +package com.simibubi.create.content.logistics.block.display; + +import net.minecraft.resources.ResourceLocation; + +public abstract class DisplayBehaviour { + + public ResourceLocation id; + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java similarity index 79% rename from src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBlock.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java index edd8f1938..46d8317bd 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlock.java @@ -1,4 +1,4 @@ -package com.simibubi.create.content.logistics.block.data; +package com.simibubi.create.content.logistics.block.display; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -6,7 +6,7 @@ import java.util.function.Consumer; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllShapes; import com.simibubi.create.AllTileEntities; -import com.simibubi.create.content.logistics.block.data.source.DataGathererSource; +import com.simibubi.create.content.logistics.block.display.source.DisplaySource; import com.simibubi.create.foundation.block.ITE; import com.simibubi.create.foundation.block.WrenchableDirectionalBlock; import com.simibubi.create.foundation.gui.ScreenOpener; @@ -38,11 +38,11 @@ import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.DistExecutor; -public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE { +public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE { public static final BooleanProperty POWERED = BlockStateProperties.POWERED; - public DataGathererBlock(Properties p_i48415_1_) { + public DisplayLinkBlock(Properties p_i48415_1_) { super(p_i48415_1_); registerDefaultState(defaultBlockState().setValue(POWERED, false)); } @@ -55,12 +55,12 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE } public static void notifyGatherers(LevelAccessor level, BlockPos pos) { - forEachAttachedGatherer(level, pos, DataGathererTileEntity::updateGatheredData); + forEachAttachedGatherer(level, pos, DisplayLinkTileEntity::updateGatheredData); } @SuppressWarnings("unchecked") - public static void sendToGatherers(LevelAccessor level, BlockPos pos, - BiConsumer callback, Class type) { + public static void sendToGatherers(LevelAccessor level, BlockPos pos, + BiConsumer callback, Class type) { forEachAttachedGatherer(level, pos, dgte -> { if (type.isInstance(dgte.activeSource)) callback.accept(dgte, (T) dgte.activeSource); @@ -68,15 +68,15 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE } private static void forEachAttachedGatherer(LevelAccessor level, BlockPos pos, - Consumer callback) { + Consumer callback) { for (Direction d : Iterate.directions) { BlockPos offsetPos = pos.relative(d); BlockState blockState = level.getBlockState(offsetPos); - if (!AllBlocks.DATA_GATHERER.has(blockState)) + if (!AllBlocks.DISPLAY_LINK.has(blockState)) continue; BlockEntity blockEntity = level.getBlockEntity(offsetPos); - if (!(blockEntity instanceof DataGathererTileEntity dgte)) + if (!(blockEntity instanceof DisplayLinkTileEntity dgte)) continue; if (dgte.activeSource == null) continue; @@ -97,7 +97,7 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE if (previouslyPowered != powered) { worldIn.setBlock(pos, state.cycle(POWERED), 2); if (!powered) - withTileEntityDo(worldIn, pos, DataGathererTileEntity::onNoLongerPowered); + withTileEntityDo(worldIn, pos, DisplayLinkTileEntity::onNoLongerPowered); } } @@ -132,14 +132,14 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE } @OnlyIn(value = Dist.CLIENT) - protected void displayScreen(DataGathererTileEntity te, Player player) { + protected void displayScreen(DisplayLinkTileEntity te, Player player) { if (!(player instanceof LocalPlayer)) return; if (te.targetOffset.equals(BlockPos.ZERO)) { - player.displayClientMessage(Lang.translate("data_gatherer.invalid"), true); + player.displayClientMessage(Lang.translate("display_link.invalid"), true); return; } - ScreenOpener.open(new DataGathererScreen(te)); + ScreenOpener.open(new DisplayLinkScreen(te)); } @Override @@ -153,13 +153,13 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE } @Override - public Class getTileEntityClass() { - return DataGathererTileEntity.class; + public Class getTileEntityClass() { + return DisplayLinkTileEntity.class; } @Override - public BlockEntityType getTileEntityType() { - return AllTileEntities.DATA_GATHERER.get(); + public BlockEntityType getTileEntityType() { + return AllTileEntities.DISPLAY_LINK.get(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBlockItem.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlockItem.java similarity index 83% rename from src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBlockItem.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlockItem.java index 8ff837821..a6d0db5e0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererBlockItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkBlockItem.java @@ -1,8 +1,8 @@ -package com.simibubi.create.content.logistics.block.data; +package com.simibubi.create.content.logistics.block.display; import com.simibubi.create.AllBlocks; import com.simibubi.create.CreateClient; -import com.simibubi.create.content.logistics.block.data.target.DataGathererTarget; +import com.simibubi.create.content.logistics.block.display.target.DisplayTarget; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.utility.Lang; @@ -29,17 +29,17 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @EventBusSubscriber -public class DataGathererBlockItem extends BlockItem { +public class DisplayLinkBlockItem extends BlockItem { - public DataGathererBlockItem(Block pBlock, Properties pProperties) { + public DisplayLinkBlockItem(Block pBlock, Properties pProperties) { super(pBlock, pProperties); } @SubscribeEvent public static void gathererItemAlwaysPlacesWhenUsed(PlayerInteractEvent.RightClickBlock event) { ItemStack usedItem = event.getItemStack(); - if (usedItem.getItem() instanceof DataGathererBlockItem) { - if (AllBlocks.DATA_GATHERER.has(event.getWorld() + if (usedItem.getItem() instanceof DisplayLinkBlockItem) { + if (AllBlocks.DISPLAY_LINK.has(event.getWorld() .getBlockState(event.getPos()))) return; event.setUseBlock(Result.DENY); @@ -60,7 +60,7 @@ public class DataGathererBlockItem extends BlockItem { if (player.isSteppingCarefully() && stack.hasTag()) { if (level.isClientSide) return InteractionResult.SUCCESS; - player.displayClientMessage(Lang.translate("data_gatherer.clear"), true); + player.displayClientMessage(Lang.translate("display_link.clear"), true); stack.setTag(null); return InteractionResult.SUCCESS; } @@ -70,7 +70,7 @@ public class DataGathererBlockItem extends BlockItem { return InteractionResult.SUCCESS; CompoundTag stackTag = stack.getOrCreateTag(); stackTag.put("SelectedPos", NbtUtils.writeBlockPos(pos)); - player.displayClientMessage(Lang.translate("data_gatherer.set"), true); + player.displayClientMessage(Lang.translate("display_link.set"), true); stack.setTag(stackTag); return InteractionResult.SUCCESS; } @@ -82,8 +82,8 @@ public class DataGathererBlockItem extends BlockItem { BlockPos placedPos = pos.relative(pContext.getClickedFace(), state.getMaterial() .isReplaceable() ? 0 : 1); - if (!selectedPos.closerThan(placedPos, AllConfigs.SERVER.logistics.dataGathererRange.get())) { - player.displayClientMessage(Lang.translate("data_gatherer.too_far") + if (!selectedPos.closerThan(placedPos, AllConfigs.SERVER.logistics.displayLinkRange.get())) { + player.displayClientMessage(Lang.translate("display_link.too_far") .withStyle(ChatFormatting.RED), true); return InteractionResult.FAIL; } @@ -98,7 +98,7 @@ public class DataGathererBlockItem extends BlockItem { ItemStack itemInHand = player.getItemInHand(pContext.getHand()); if (!itemInHand.isEmpty()) itemInHand.setTag(null); - player.displayClientMessage(Lang.translate("data_gatherer.success") + player.displayClientMessage(Lang.translate("display_link.success") .withStyle(ChatFormatting.GREEN), true); return useOn; } @@ -112,7 +112,7 @@ public class DataGathererBlockItem extends BlockItem { if (player == null) return; ItemStack heldItemMainhand = player.getMainHandItem(); - if (!(heldItemMainhand.getItem() instanceof DataGathererBlockItem)) + if (!(heldItemMainhand.getItem() instanceof DisplayLinkBlockItem)) return; if (!heldItemMainhand.hasTag()) return; @@ -135,7 +135,7 @@ public class DataGathererBlockItem extends BlockItem { @OnlyIn(Dist.CLIENT) private static AABB getBounds(BlockPos pos) { Level world = Minecraft.getInstance().level; - DataGathererTarget target = AllDataGathererBehaviours.targetOf(world, pos); + DisplayTarget target = AllDisplayBehaviours.targetOf(world, pos); if (target != null) return target.getMultiblockBounds(world, pos); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererConfigurationPacket.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java similarity index 68% rename from src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererConfigurationPacket.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java index 3f5a55828..c83d6894a 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererConfigurationPacket.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkConfigurationPacket.java @@ -1,6 +1,6 @@ -package com.simibubi.create.content.logistics.block.data; +package com.simibubi.create.content.logistics.block.display; -import com.simibubi.create.content.logistics.block.data.source.DataGathererSource; +import com.simibubi.create.content.logistics.block.display.source.DisplaySource; import com.simibubi.create.foundation.networking.TileEntityConfigurationPacket; import net.minecraft.core.BlockPos; @@ -8,18 +8,18 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; -public class DataGathererConfigurationPacket extends TileEntityConfigurationPacket { +public class DisplayLinkConfigurationPacket extends TileEntityConfigurationPacket { private CompoundTag configData; private int targetLine; - public DataGathererConfigurationPacket(BlockPos pos, CompoundTag configData, int targetLine) { + public DisplayLinkConfigurationPacket(BlockPos pos, CompoundTag configData, int targetLine) { super(pos); this.configData = configData; this.targetLine = targetLine; } - public DataGathererConfigurationPacket(FriendlyByteBuf buffer) { + public DisplayLinkConfigurationPacket(FriendlyByteBuf buffer) { super(buffer); } @@ -36,7 +36,7 @@ public class DataGathererConfigurationPacket extends TileEntityConfigurationPack } @Override - protected void applySettings(DataGathererTileEntity te) { + protected void applySettings(DisplayLinkTileEntity te) { te.targetLine = targetLine; if (!configData.contains("Id")) { @@ -45,7 +45,7 @@ public class DataGathererConfigurationPacket extends TileEntityConfigurationPack } ResourceLocation id = new ResourceLocation(configData.getString("Id")); - DataGathererSource source = AllDataGathererBehaviours.getSource(id); + DisplaySource source = AllDisplayBehaviours.getSource(id); if (source == null) { te.notifyUpdate(); return; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererContext.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java similarity index 75% rename from src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererContext.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java index 813fe3fb7..148206428 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererContext.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkContext.java @@ -1,18 +1,18 @@ -package com.simibubi.create.content.logistics.block.data; +package com.simibubi.create.content.logistics.block.display; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.entity.BlockEntity; -public class DataGathererContext { +public class DisplayLinkContext { private LevelAccessor level; - private DataGathererTileEntity te; + private DisplayLinkTileEntity te; public Object flapDisplayContext; - public DataGathererContext(LevelAccessor level, DataGathererTileEntity te) { + public DisplayLinkContext(LevelAccessor level, DisplayLinkTileEntity te) { this.level = level; this.te = te; } @@ -21,7 +21,7 @@ public class DataGathererContext { return level; } - public DataGathererTileEntity te() { + public DisplayLinkTileEntity te() { return te; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java similarity index 74% rename from src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererRenderer.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java index 5529864ec..2ebd8edad 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkRenderer.java @@ -1,4 +1,4 @@ -package com.simibubi.create.content.logistics.block.data; +package com.simibubi.create.content.logistics.block.display; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; @@ -16,12 +16,12 @@ import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; -public class DataGathererRenderer extends SafeTileEntityRenderer { +public class DisplayLinkRenderer extends SafeTileEntityRenderer { - public DataGathererRenderer(BlockEntityRendererProvider.Context context) {} + public DisplayLinkRenderer(BlockEntityRendererProvider.Context context) {} @Override - protected void renderSafe(DataGathererTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, + protected void renderSafe(DisplayLinkTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { float glow = te.glow.getValue(partialTicks); if (glow < .125f) @@ -35,7 +35,7 @@ public class DataGathererRenderer extends SafeTileEntityRenderer sources; - DataGathererTarget target; + List sources; + DisplayTarget target; ScrollInput sourceTypeSelector; Label sourceTypeLabel; @@ -65,7 +65,7 @@ public class DataGathererScreen extends AbstractSimiScreen { Couple>> configWidgets; - public DataGathererScreen(DataGathererTileEntity te) { + public DisplayLinkScreen(DisplayLinkTileEntity te) { this.background = AllGuiTextures.DATA_GATHERER; this.te = te; sources = Collections.emptyList(); @@ -116,8 +116,8 @@ public class DataGathererScreen extends AbstractSimiScreen { asItem = targetBlock.asItem(); targetIcon = asItem == null || asItem == Items.AIR ? FALLBACK : new ItemStack(asItem); - sources = AllDataGathererBehaviours.sourcesOf(minecraft.level, te.getSourcePosition()); - target = AllDataGathererBehaviours.targetOf(minecraft.level, te.getTargetPosition()); + sources = AllDisplayBehaviours.sourcesOf(minecraft.level, te.getSourcePosition()); + target = AllDisplayBehaviours.targetOf(minecraft.level, te.getTargetPosition()); removeWidget(targetLineSelector); removeWidget(targetLineLabel); @@ -130,7 +130,7 @@ public class DataGathererScreen extends AbstractSimiScreen { sourceTypeSelector = null; if (target != null) { - DataTargetStats stats = target.provideStats(new DataGathererContext(minecraft.level, te)); + DisplayTargetStats stats = target.provideStats(new DisplayLinkContext(minecraft.level, te)); int rows = stats.maxRows(); int startIndex = Math.min(te.targetLine, rows); @@ -139,7 +139,7 @@ public class DataGathererScreen extends AbstractSimiScreen { if (rows > 1) { targetLineSelector = new ScrollInput(x + 61, y + 105, 135, 16).withRange(0, rows) - .titled(Lang.translate("data_gatherer.display_on")) + .titled(Lang.translate("display_link.display_on")) .inverted() .calling(i -> targetLineLabel.text = target.getLineOptionText(i)) .setState(startIndex); @@ -158,11 +158,11 @@ public class DataGathererScreen extends AbstractSimiScreen { if (sources.size() > 1) { List options = sources.stream() - .map(DataGathererSource::getName) + .map(DisplaySource::getName) .toList(); sourceTypeSelector = new SelectionScrollInput(x + 61, y + 26, 135, 16).forOptions(options) .writingTo(sourceTypeLabel) - .titled(Lang.translate("data_gatherer.information_type")) + .titled(Lang.translate("display_link.information_type")) .calling(this::initGathererSourceSubOptions) .setState(startIndex); sourceTypeSelector.onChanged(); @@ -176,20 +176,20 @@ public class DataGathererScreen extends AbstractSimiScreen { } private void initGathererSourceSubOptions(int i) { - DataGathererSource source = sources.get(i); - source.populateData(new DataGathererContext(te.getLevel(), te)); + DisplaySource source = sources.get(i); + source.populateData(new DisplayLinkContext(te.getLevel(), te)); if (targetLineSelector != null) targetLineSelector - .titled(source instanceof SingleLineDataSource ? Lang.translate("data_gatherer.display_on") - : Lang.translate("data_gatherer.display_on_multiline")); + .titled(source instanceof SingleLineDisplaySource ? Lang.translate("display_link.display_on") + : Lang.translate("display_link.display_on_multiline")); configWidgets.forEach(s -> { s.forEach(p -> removeWidget(p.getFirst())); s.clear(); }); - DataGathererContext context = new DataGathererContext(minecraft.level, te); + DisplayLinkContext context = new DisplayLinkContext(minecraft.level, te); configWidgets.forEachWithContext((s, first) -> source.initConfigurationWidgets(context, new LineBuilder(s, guiLeft + 60, guiTop + (first ? 51 : 72)), first)); @@ -285,7 +285,7 @@ public class DataGathererScreen extends AbstractSimiScreen { configWidgets.forEach(s -> s.forEach(p -> saveValue(sourceData, p))); } - AllPackets.channel.sendToServer(new DataGathererConfigurationPacket(te.getBlockPos(), sourceData, + AllPackets.channel.sendToServer(new DisplayLinkConfigurationPacket(te.getBlockPos(), sourceData, targetLineSelector == null ? 0 : targetLineSelector.getState())); } @@ -295,13 +295,13 @@ public class DataGathererScreen extends AbstractSimiScreen { int y = guiTop; background.render(ms, x, y, this); - MutableComponent header = Lang.translate("data_gatherer.title"); + MutableComponent header = Lang.translate("display_link.title"); font.draw(ms, header, x + background.width / 2 - font.width(header) / 2, y + 4, 0x442000); if (sources.isEmpty()) - font.drawShadow(ms, Lang.translate("data_gatherer.no_source"), x + 65, y + 30, 0xD3D3D3); + font.drawShadow(ms, Lang.translate("display_link.no_source"), x + 65, y + 30, 0xD3D3D3); if (target == null) - font.drawShadow(ms, Lang.translate("data_gatherer.no_target"), x + 65, y + 109, 0xD3D3D3); + font.drawShadow(ms, Lang.translate("display_link.no_target"), x + 65, y + 109, 0xD3D3D3); if (!sourceIcon.isEmpty()) minecraft.getItemRenderer() @@ -325,7 +325,7 @@ public class DataGathererScreen extends AbstractSimiScreen { .rotateX(-22) .rotateY(63); GuiGameElement.of(te.getBlockState() - .setValue(DataGathererBlock.FACING, Direction.UP)) + .setValue(DisplayLinkBlock.FACING, Direction.UP)) .render(ms); ms.popPose(); } @@ -353,20 +353,20 @@ public class DataGathererScreen extends AbstractSimiScreen { if (sourceState != null && mX >= 33 && mX < 53 && mY >= 24 && mY < 44) { renderComponentTooltip(ms, - ImmutableList.of(Lang.translate("data_gatherer.reading_from"), sourceState.getBlock() + ImmutableList.of(Lang.translate("display_link.reading_from"), sourceState.getBlock() .getName() .withStyle(s -> s.withColor(sources.isEmpty() ? 0xF68989 : 0xF2C16D)), - Lang.translate("data_gatherer.attached_side"), Lang.translate("data_gatherer.view_compatible") + Lang.translate("display_link.attached_side"), Lang.translate("display_link.view_compatible") .withStyle(ChatFormatting.GRAY)), mouseX, mouseY); } if (targetState != null && mX >= 33 && mX < 53 && mY >= 102 && mY < 122) { renderComponentTooltip(ms, - ImmutableList.of(Lang.translate("data_gatherer.writing_to"), targetState.getBlock() + ImmutableList.of(Lang.translate("display_link.writing_to"), targetState.getBlock() .getName() .withStyle(s -> s.withColor(target == null ? 0xF68989 : 0xF2C16D)), - Lang.translate("data_gatherer.targeted_location"), Lang.translate("data_gatherer.view_compatible") + Lang.translate("display_link.targeted_location"), Lang.translate("display_link.view_compatible") .withStyle(ChatFormatting.GRAY)), mouseX, mouseY); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java similarity index 79% rename from src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererTileEntity.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java index 5da6d5d14..2bb0911a5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/DataGathererTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/DisplayLinkTileEntity.java @@ -1,9 +1,9 @@ -package com.simibubi.create.content.logistics.block.data; +package com.simibubi.create.content.logistics.block.display; import java.util.List; -import com.simibubi.create.content.logistics.block.data.source.DataGathererSource; -import com.simibubi.create.content.logistics.block.data.target.DataGathererTarget; +import com.simibubi.create.content.logistics.block.display.source.DisplaySource; +import com.simibubi.create.content.logistics.block.display.target.DisplayTarget; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.NBTHelper; @@ -18,14 +18,14 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -public class DataGathererTileEntity extends SmartTileEntity { +public class DisplayLinkTileEntity extends SmartTileEntity { protected BlockPos targetOffset; - public DataGathererSource activeSource; + public DisplaySource activeSource; private CompoundTag sourceConfig; - public DataGathererTarget activeTarget; + public DisplayTarget activeTarget; public int targetLine; public LerpedFloat glow; @@ -33,7 +33,7 @@ public class DataGathererTileEntity extends SmartTileEntity { public int refreshTicks; - public DataGathererTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { + public DisplayLinkTileEntity(BlockEntityType type, BlockPos pos, BlockState state) { super(type, pos, state); targetOffset = BlockPos.ZERO; sourceConfig = new CompoundTag(); @@ -62,7 +62,7 @@ public class DataGathererTileEntity extends SmartTileEntity { public void tickSource() { refreshTicks = 0; - if (getBlockState().getOptionalValue(DataGathererBlock.POWERED) + if (getBlockState().getOptionalValue(DisplayLinkBlock.POWERED) .orElse(true)) return; if (!level.isClientSide) @@ -73,7 +73,7 @@ public class DataGathererTileEntity extends SmartTileEntity { if (activeSource == null) return; refreshTicks = 0; - activeSource.onSignalReset(new DataGathererContext(level, this)); + activeSource.onSignalReset(new DisplayLinkContext(level, this)); updateGatheredData(); } @@ -84,8 +84,8 @@ public class DataGathererTileEntity extends SmartTileEntity { if (!level.isLoaded(targetPosition) || !level.isLoaded(sourcePosition)) return; - DataGathererTarget target = AllDataGathererBehaviours.targetOf(level, targetPosition); - List sources = AllDataGathererBehaviours.sourcesOf(level, sourcePosition); + DisplayTarget target = AllDisplayBehaviours.targetOf(level, targetPosition); + List sources = AllDisplayBehaviours.sourcesOf(level, sourcePosition); boolean notify = false; if (activeTarget != target) { @@ -104,7 +104,7 @@ public class DataGathererTileEntity extends SmartTileEntity { if (activeSource == null || activeTarget == null) return; - DataGathererContext context = new DataGathererContext(level, this); + DisplayLinkContext context = new DisplayLinkContext(level, this); activeSource.transferData(context, activeTarget, targetLine); sendPulse = true; sendData(); @@ -149,7 +149,7 @@ public class DataGathererTileEntity extends SmartTileEntity { targetLine = tag.getInt("TargetLine"); if (clientPacket && tag.contains("TargetType")) - activeTarget = AllDataGathererBehaviours.getTarget(new ResourceLocation(tag.getString("TargetType"))); + activeTarget = AllDisplayBehaviours.getTarget(new ResourceLocation(tag.getString("TargetType"))); if (clientPacket && tag.contains("Pulse")) glow.setValue(2); @@ -157,7 +157,7 @@ public class DataGathererTileEntity extends SmartTileEntity { return; CompoundTag data = tag.getCompound("Source"); - activeSource = AllDataGathererBehaviours.getSource(new ResourceLocation(data.getString("Id"))); + activeSource = AllDisplayBehaviours.getSource(new ResourceLocation(data.getString("Id"))); sourceConfig = new CompoundTag(); if (activeSource != null) sourceConfig = data.copy(); @@ -180,7 +180,7 @@ public class DataGathererTileEntity extends SmartTileEntity { } public Direction getDirection() { - return getBlockState().getOptionalValue(DataGathererBlock.FACING) + return getBlockState().getOptionalValue(DisplayLinkBlock.FACING) .orElse(Direction.UP) .getOpposite(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java new file mode 100644 index 000000000..b72de2b78 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/AccumulatedItemCountDisplaySource.java @@ -0,0 +1,53 @@ +package com.simibubi.create.content.logistics.block.display.source; + +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; + +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.chat.TextComponent; + +public class AccumulatedItemCountDisplaySource extends NumericSingleLineDisplaySource { + + @Override + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { + return new TextComponent(String.valueOf(context.sourceConfig() + .getInt("Collected"))); + } + + public void itemReceived(DisplayLinkTileEntity te, int amount) { + if (te.getBlockState() + .getOptionalValue(DisplayLinkBlock.POWERED) + .orElse(true)) + return; + + int collected = te.getSourceConfig() + .getInt("Collected"); + te.getSourceConfig() + .putInt("Collected", collected + amount); + te.updateGatheredData(); + } + + @Override + protected String getTranslationKey() { + return "accumulate_items"; + } + + @Override + public int getPassiveRefreshTicks() { + return 200; + } + + @Override + public void onSignalReset(DisplayLinkContext context) { + context.sourceConfig() + .remove("Collected"); + } + + @Override + protected boolean allowsLabeling(DisplayLinkContext context) { + return true; + } + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/DeathCounterDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/DeathCounterDataSource.java similarity index 72% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/DeathCounterDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/DeathCounterDataSource.java index d40d3ec49..c98772a27 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/DeathCounterDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/DeathCounterDataSource.java @@ -1,4 +1,4 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.foundation.utility.Lang; @@ -6,7 +6,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerPlayer; import net.minecraft.stats.Stats; -public class DeathCounterDataSource extends StatTrackingDataSource { +public class DeathCounterDataSource extends StatTrackingDisplaySource { @Override protected int updatedScoreOf(ServerPlayer player) { @@ -26,7 +26,7 @@ public class DeathCounterDataSource extends StatTrackingDataSource { @Override protected Component getObjectiveDisplayName() { - return Lang.translate("data_source.scoreboard.objective.deaths"); + return Lang.translate("display_source.scoreboard.objective.deaths"); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/DataGathererSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java similarity index 50% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/DataGathererSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java index 5964f11a9..8a0c8042b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/DataGathererSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/DisplaySource.java @@ -1,15 +1,15 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import java.util.Arrays; import java.util.List; import com.google.common.collect.ImmutableList; -import com.simibubi.create.content.logistics.block.data.DataGathererBehaviour; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.target.DataGathererTarget; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; -import com.simibubi.create.content.logistics.block.data.target.FlapDisplayDataTarget; +import com.simibubi.create.content.logistics.block.display.DisplayBehaviour; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.target.DisplayBoardTarget; +import com.simibubi.create.content.logistics.block.display.target.DisplayTarget; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; @@ -20,18 +20,18 @@ import net.minecraft.network.chat.TranslatableComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public abstract class DataGathererSource extends DataGathererBehaviour { +public abstract class DisplaySource extends DisplayBehaviour { public static final List EMPTY = ImmutableList.of(new TextComponent("")); public static final MutableComponent EMPTY_LINE = new TextComponent(""); public static final MutableComponent WHITESPACE = new TextComponent(" "); - public abstract List provideText(DataGathererContext context, DataTargetStats stats); + public abstract List provideText(DisplayLinkContext context, DisplayTargetStats stats); - public void transferData(DataGathererContext context, DataGathererTarget activeTarget, int line) { - DataTargetStats stats = activeTarget.provideStats(context); + public void transferData(DisplayLinkContext context, DisplayTarget activeTarget, int line) { + DisplayTargetStats stats = activeTarget.provideStats(context); - if (activeTarget instanceof FlapDisplayDataTarget fddt) { + if (activeTarget instanceof DisplayBoardTarget fddt) { List> flapDisplayText = provideFlapDisplayText(context, stats); fddt.acceptFlapText(line, flapDisplayText, context); return; @@ -39,12 +39,11 @@ public abstract class DataGathererSource extends DataGathererBehaviour { List text = provideText(context, stats); activeTarget.acceptText(line, text, context); - } - public void onSignalReset(DataGathererContext context) {}; + public void onSignalReset(DisplayLinkContext context) {}; - public void populateData(DataGathererContext context) {}; + public void populateData(DisplayLinkContext context) {}; public int getPassiveRefreshTicks() { return 100; @@ -55,22 +54,22 @@ public abstract class DataGathererSource extends DataGathererBehaviour { } public Component getName() { - return new TranslatableComponent(id.getNamespace() + ".data_source." + getTranslationKey()); + return new TranslatableComponent(id.getNamespace() + ".display_source." + getTranslationKey()); } - public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout) { if (!layout.isLayout("Default")) layout.loadDefault(flapDisplay.getMaxCharCount()); } - public List> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) { + public List> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) { return provideText(context, stats).stream() .map(Arrays::asList) .toList(); } @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {} + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {} } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/FillLevelDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java similarity index 70% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/FillLevelDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java index 0b63a0a2d..f1d8e2ad1 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/FillLevelDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/FillLevelDisplaySource.java @@ -1,10 +1,10 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import static com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection.WIDE_MONOSPACE; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.block.redstone.StockpileSwitchTileEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; @@ -18,10 +18,10 @@ import net.minecraft.world.level.block.entity.SignBlockEntity; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class FillLevelDataSource extends NumericSingleLineDataSource { +public class FillLevelDisplaySource extends NumericSingleLineDisplaySource { @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { BlockEntity te = context.getSourceTE(); if (!(te instanceof StockpileSwitchTileEntity sste)) return EMPTY_LINE; @@ -56,7 +56,7 @@ public class FillLevelDataSource extends NumericSingleLineDataSource { return new TextComponent(s.toString()); } - private boolean usePercent(DataGathererContext context) { + private boolean usePercent(DisplayLinkContext context) { return context.sourceConfig() .getInt("Mode") == 0; } @@ -67,12 +67,12 @@ public class FillLevelDataSource extends NumericSingleLineDataSource { } @Override - protected String getFlapDisplayLayoutName(DataGathererContext context) { + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { return usePercent(context) ? super.getFlapDisplayLayoutName(context) : "Progress"; } @Override - protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) { + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { return usePercent(context) ? super.createSectionForValue(context, size) : new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "pixel", false, false).wideFlaps(); } @@ -83,18 +83,18 @@ public class FillLevelDataSource extends NumericSingleLineDataSource { @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { super.initConfigurationWidgets(context, builder, isFirstLine); if (isFirstLine) return; builder.addSelectionScrollInput(0, 120, - (si, l) -> si.forOptions(Lang.translatedOptions("data_source.fill_level", "percent", "progress_bar")) - .titled(Lang.translate("data_source.fill_level.display")), + (si, l) -> si.forOptions(Lang.translatedOptions("display_source.fill_level", "percent", "progress_bar")) + .titled(Lang.translate("display_source.fill_level.display")), "Mode"); } @Override - protected boolean allowsLabeling(DataGathererContext context) { + protected boolean allowsLabeling(DisplayLinkContext context) { return true; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemCountDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java similarity index 74% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemCountDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java index 242195704..b74f7827f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemCountDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemCountDisplaySource.java @@ -1,7 +1,7 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour; @@ -12,10 +12,10 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.items.IItemHandler; -public class ItemCountDataSource extends NumericSingleLineDataSource { +public class ItemCountDisplaySource extends NumericSingleLineDisplaySource { @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { BlockEntity sourceTE = context.getSourceTE(); if (!(sourceTE instanceof ContentObserverTileEntity cote)) return ZERO; @@ -46,7 +46,7 @@ public class ItemCountDataSource extends NumericSingleLineDataSource { } @Override - protected boolean allowsLabeling(DataGathererContext context) { + protected boolean allowsLabeling(DisplayLinkContext context) { return true; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemListDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java similarity index 82% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemListDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java index 92be56cbe..4e9768dbd 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemListDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemListDisplaySource.java @@ -1,9 +1,8 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; -import java.util.ArrayList; import java.util.stream.Stream; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity; import com.simibubi.create.foundation.item.CountedItemStackList; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; @@ -14,10 +13,10 @@ import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraftforge.items.IItemHandler; -public class ItemListDataSource extends ValueListDataSource { +public class ItemListDisplaySource extends ValueListDisplaySource { @Override - protected Stream> provideEntries(DataGathererContext context, int maxRows) { + protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { BlockEntity sourceTE = context.getSourceTE(); if (!(sourceTE instanceof ContentObserverTileEntity cote)) return Stream.empty(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemNameDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java similarity index 69% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemNameDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java index f766cdc00..922b0a206 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemNameDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemNameDisplaySource.java @@ -1,10 +1,10 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import org.apache.commons.lang3.mutable.MutableObject; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererTileEntity; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult; @@ -14,11 +14,11 @@ import net.minecraft.core.Direction; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.item.ItemStack; -public class ItemNameDataSource extends SingleLineDataSource { +public class ItemNameDisplaySource extends SingleLineDisplaySource { @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { - DataGathererTileEntity gatherer = context.te(); + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { + DisplayLinkTileEntity gatherer = context.te(); Direction direction = gatherer.getDirection(); MutableBlockPos pos = gatherer.getSourcePosition() .mutable(); @@ -53,12 +53,12 @@ public class ItemNameDataSource extends SingleLineDataSource { } @Override - protected boolean allowsLabeling(DataGathererContext context) { + protected boolean allowsLabeling(DisplayLinkContext context) { return true; } @Override - protected String getFlapDisplayLayoutName(DataGathererContext context) { + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { return "Number"; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemThoughputDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThoughputDisplaySource.java similarity index 71% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemThoughputDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThoughputDisplaySource.java index 138490835..05be1f045 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ItemThoughputDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ItemThoughputDisplaySource.java @@ -1,11 +1,11 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.contraptions.goggles.IHaveGoggleInformation; -import com.simibubi.create.content.logistics.block.data.DataGathererBlock; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.DataGathererTileEntity; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.nbt.CompoundTag; @@ -17,12 +17,12 @@ import net.minecraft.network.chat.TextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class ItemThoughputDataSource extends AccumulatedItemCountDataSource { +public class ItemThoughputDisplaySource extends AccumulatedItemCountDisplaySource { static final int POOL_SIZE = 10; @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { CompoundTag conf = context.sourceConfig(); if (conf.contains("Inactive")) return new TextComponent("0"); @@ -48,9 +48,9 @@ public class ItemThoughputDataSource extends AccumulatedItemCountDataSource { return new TextComponent(IHaveGoggleInformation.format(rate)); } - public void itemReceived(DataGathererTileEntity te, int amount) { + public void itemReceived(DisplayLinkTileEntity te, int amount) { if (te.getBlockState() - .getOptionalValue(DataGathererBlock.POWERED) + .getOptionalValue(DisplayLinkBlock.POWERED) .orElse(true)) return; @@ -101,14 +101,14 @@ public class ItemThoughputDataSource extends AccumulatedItemCountDataSource { @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { super.initConfigurationWidgets(context, builder, isFirstLine); if (isFirstLine) return; builder.addSelectionScrollInput(0, 80, (si, l) -> { - si.forOptions(Lang.translatedOptions("data_source.item_throughput.interval", "second", "minute", "hour")) - .titled(Lang.translate("data_source.item_throughput.interval")); + si.forOptions(Lang.translatedOptions("display_source.item_throughput.interval", "second", "minute", "hour")) + .titled(Lang.translate("display_source.item_throughput.interval")); }, "Interval"); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/NixieTubeDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java similarity index 56% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/NixieTubeDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java index a5b91d9f3..d2e0fa28c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/NixieTubeDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/NixieTubeDisplaySource.java @@ -1,15 +1,15 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; -import com.simibubi.create.content.logistics.block.data.target.NixieTubeDataTarget; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; +import com.simibubi.create.content.logistics.block.display.target.NixieTubeDisplayTarget; import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.level.block.entity.BlockEntity; -public class NixieTubeDataSource extends SingleLineDataSource { +public class NixieTubeDisplaySource extends SingleLineDisplaySource { @Override protected String getTranslationKey() { @@ -17,7 +17,7 @@ public class NixieTubeDataSource extends SingleLineDataSource { } @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { BlockEntity sourceTE = context.getSourceTE(); if (!(sourceTE instanceof NixieTubeTileEntity nte)) return EMPTY_LINE; @@ -35,25 +35,25 @@ public class NixieTubeDataSource extends SingleLineDataSource { } @Override - protected boolean allowsLabeling(DataGathererContext context) { - return !(context.te().activeTarget instanceof NixieTubeDataTarget); + protected boolean allowsLabeling(DisplayLinkContext context) { + return !(context.te().activeTarget instanceof NixieTubeDisplayTarget); } @Override - protected String getFlapDisplayLayoutName(DataGathererContext context) { + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { if (isNumeric(context)) return "Number"; return super.getFlapDisplayLayoutName(context); } @Override - protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) { + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { if (isNumeric(context)) return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "numeric", false, false); return super.createSectionForValue(context, size); } - protected boolean isNumeric(DataGathererContext context) { + protected boolean isNumeric(DisplayLinkContext context) { return context.flapDisplayContext == Boolean.TRUE; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/source/NumericSingleLineDisplaySource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/NumericSingleLineDisplaySource.java new file mode 100644 index 000000000..475a63cc8 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/NumericSingleLineDisplaySource.java @@ -0,0 +1,22 @@ +package com.simibubi.create.content.logistics.block.display.source; + +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; + +import net.minecraft.network.chat.TextComponent; + +public abstract class NumericSingleLineDisplaySource extends SingleLineDisplaySource { + + protected static final TextComponent ZERO = new TextComponent("0"); + + @Override + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { + return "Number"; + } + + @Override + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { + return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "numeric", false, false); + } + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ScoreboardDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java similarity index 73% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/ScoreboardDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java index afdf2eb67..44f4c7f79 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ScoreboardDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ScoreboardDisplaySource.java @@ -1,11 +1,10 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; -import java.util.ArrayList; import java.util.stream.Stream; import com.google.common.collect.ImmutableList; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; import com.simibubi.create.foundation.utility.IntAttached; import com.simibubi.create.foundation.utility.Lang; @@ -16,10 +15,10 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.Level; import net.minecraft.world.scores.Objective; -public class ScoreboardDataSource extends ValueListDataSource { +public class ScoreboardDisplaySource extends ValueListDisplaySource { @Override - protected Stream> provideEntries(DataGathererContext context, int maxRows) { + protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { Level level = context.te() .getLevel(); if (!(level instanceof ServerLevel sLevel)) @@ -48,7 +47,7 @@ public class ScoreboardDataSource extends ValueListDataSource { private ImmutableList> notFound(String objective) { return ImmutableList - .of(IntAttached.with(404, Lang.translate("data_source.scoreboard.objective_not_found", objective))); + .of(IntAttached.with(404, Lang.translate("display_source.scoreboard.objective_not_found", objective))); } @Override @@ -57,11 +56,11 @@ public class ScoreboardDataSource extends ValueListDataSource { } @Override - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { if (isFirstLine) builder.addTextInput(0, 137, (e, t) -> { e.setValue(""); - t.withTooltip(ImmutableList.of(Lang.translate("data_source.scoreboard.objective") + t.withTooltip(ImmutableList.of(Lang.translate("display_source.scoreboard.objective") .withStyle(s -> s.withColor(0x5391E1)), Lang.translate("gui.schedule.lmb_edit") .withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC))); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/SingleLineDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java similarity index 70% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/SingleLineDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java index 837a78b50..e372564f7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/SingleLineDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/SingleLineDisplaySource.java @@ -1,11 +1,11 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import java.util.List; import com.google.common.collect.ImmutableList; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; @@ -17,15 +17,15 @@ import net.minecraft.network.chat.TextComponent; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public abstract class SingleLineDataSource extends DataGathererSource { +public abstract class SingleLineDisplaySource extends DisplaySource { - protected abstract MutableComponent provideLine(DataGathererContext context, DataTargetStats stats); + protected abstract MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats); - protected abstract boolean allowsLabeling(DataGathererContext context); + protected abstract boolean allowsLabeling(DisplayLinkContext context); @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { if (isFirstLine && allowsLabeling(context)) addLabelingTextBox(builder); } @@ -34,7 +34,7 @@ public abstract class SingleLineDataSource extends DataGathererSource { protected void addLabelingTextBox(LineBuilder builder) { builder.addTextInput(0, 137, (e, t) -> { e.setValue(""); - t.withTooltip(ImmutableList.of(Lang.translate("data_source.label") + t.withTooltip(ImmutableList.of(Lang.translate("display_source.label") .withStyle(s -> s.withColor(0x5391E1)), Lang.translate("gui.schedule.lmb_edit") .withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC))); @@ -42,7 +42,7 @@ public abstract class SingleLineDataSource extends DataGathererSource { } @Override - public List provideText(DataGathererContext context, DataTargetStats stats) { + public List provideText(DisplayLinkContext context, DisplayTargetStats stats) { MutableComponent line = provideLine(context, stats); if (line == EMPTY_LINE) return EMPTY; @@ -58,7 +58,7 @@ public abstract class SingleLineDataSource extends DataGathererSource { } @Override - public List> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) { + public List> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) { if (allowsLabeling(context)) { String label = context.sourceConfig() @@ -71,7 +71,7 @@ public abstract class SingleLineDataSource extends DataGathererSource { } @Override - public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout) { String layoutKey = getFlapDisplayLayoutName(context); @@ -107,11 +107,11 @@ public abstract class SingleLineDataSource extends DataGathererSource { layout.configure(layoutName, ImmutableList.of(labelSection)); } - protected String getFlapDisplayLayoutName(DataGathererContext context) { + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { return "Default"; } - protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) { + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "alphabet", false, false); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/StatTrackingDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java similarity index 74% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/StatTrackingDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java index 1423f5a86..9b3e80c33 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/StatTrackingDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StatTrackingDisplaySource.java @@ -1,10 +1,9 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; -import java.util.ArrayList; import java.util.stream.Stream; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; import com.simibubi.create.foundation.utility.IntAttached; import net.minecraft.network.chat.Component; @@ -19,10 +18,10 @@ import net.minecraft.world.scores.criteria.ObjectiveCriteria.RenderType; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public abstract class StatTrackingDataSource extends ScoreboardDataSource { +public abstract class StatTrackingDisplaySource extends ScoreboardDisplaySource { @Override - protected Stream> provideEntries(DataGathererContext context, int maxRows) { + protected Stream> provideEntries(DisplayLinkContext context, int maxRows) { Level level = context.te() .getLevel(); if (!(level instanceof ServerLevel sLevel)) @@ -53,12 +52,12 @@ public abstract class StatTrackingDataSource extends ScoreboardDataSource { } @Override - protected boolean shortenNumbers(DataGathererContext context) { + protected boolean shortenNumbers(DisplayLinkContext context) { return false; } @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {} + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {} } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/StationSummaryDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java similarity index 81% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/StationSummaryDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java index 8f67d193b..0c3b86245 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/StationSummaryDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StationSummaryDisplaySource.java @@ -1,4 +1,4 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import static com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection.MONOSPACE; @@ -6,9 +6,9 @@ import java.util.ArrayList; import java.util.List; import com.google.common.collect.ImmutableList; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; @@ -25,7 +25,7 @@ import net.minecraft.util.Mth; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class StationSummaryDataSource extends DataGathererSource { +public class StationSummaryDisplaySource extends DisplaySource { protected static final MutableComponent UNPREDICTABLE = new TextComponent(" ~ "); @@ -35,12 +35,12 @@ public class StationSummaryDataSource extends DataGathererSource { ImmutableList.of(WHITESPACE, new TextComponent(" . "), WHITESPACE, WHITESPACE, WHITESPACE); @Override - public List provideText(DataGathererContext context, DataTargetStats stats) { + public List provideText(DisplayLinkContext context, DisplayTargetStats stats) { return EMPTY; } @Override - public List> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) { + public List> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) { String filter = context.sourceConfig() .getString("Filter"); boolean hasPlatform = filter.contains("*"); @@ -56,7 +56,7 @@ public class StationSummaryDataSource extends DataGathererSource { } else if (prediction.ticks < 200) { lines.add(WHITESPACE); - lines.add(Lang.translate("data_source.station_summary.now")); + lines.add(Lang.translate("display_source.station_summary.now")); } else { int min = prediction.ticks / 1200; @@ -67,8 +67,8 @@ public class StationSummaryDataSource extends DataGathererSource { sec = 0; } lines.add(min > 0 ? new TextComponent(String.valueOf(min)) : WHITESPACE); - lines.add(min > 0 ? Lang.translate("data_source.station_summary.minutes") - : Lang.translate("data_source.station_summary.seconds", sec)); + lines.add(min > 0 ? Lang.translate("display_source.station_summary.minutes") + : Lang.translate("display_source.station_summary.seconds", sec)); } lines.add(prediction.train.name.copy()); @@ -97,7 +97,7 @@ public class StationSummaryDataSource extends DataGathererSource { } @Override - public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout) { CompoundTag conf = context.sourceConfig(); int columnWidth = conf.getInt("NameColumn"); @@ -157,7 +157,7 @@ public class StationSummaryDataSource extends DataGathererSource { } @Override - public void populateData(DataGathererContext context) { + public void populateData(DisplayLinkContext context) { CompoundTag conf = context.sourceConfig(); if (conf.contains("Filter")) return; @@ -171,11 +171,11 @@ public class StationSummaryDataSource extends DataGathererSource { @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { if (isFirstLine) { builder.addTextInput(0, 137, (e, t) -> { e.setValue(""); - t.withTooltip(ImmutableList.of(Lang.translate("data_source.station_summary.filter") + t.withTooltip(ImmutableList.of(Lang.translate("display_source.station_summary.filter") .withStyle(s -> s.withColor(0x5391E1)), Lang.translate("gui.schedule.lmb_edit") .withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC))); @@ -184,7 +184,7 @@ public class StationSummaryDataSource extends DataGathererSource { } builder.addScrollInput(0, 32, (si, l) -> { - si.titled(Lang.translate("data_source.station_summary.train_name_column")) + si.titled(Lang.translate("display_source.station_summary.train_name_column")) .withRange(0, 73) .withShiftStep(12); si.setState(50); @@ -192,7 +192,7 @@ public class StationSummaryDataSource extends DataGathererSource { }, "NameColumn"); builder.addScrollInput(36, 22, (si, l) -> { - si.titled(Lang.translate("data_source.station_summary.platform_column")) + si.titled(Lang.translate("display_source.station_summary.platform_column")) .withRange(0, 16) .withShiftStep(4); si.setState(3); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/StopWatchDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java similarity index 64% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/StopWatchDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java index a3bc0082a..86d42f35d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/StopWatchDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/StopWatchDisplaySource.java @@ -1,21 +1,21 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TextComponent; -public class StopWatchDataSource extends SingleLineDataSource { +public class StopWatchDisplaySource extends SingleLineDisplaySource { @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { if (!(context.getSourceTE()instanceof CuckooClockTileEntity ccte)) - return TimeOfDayDataSource.EMPTY_TIME; + return TimeOfDayDisplaySource.EMPTY_TIME; if (ccte.getSpeed() == 0) - return TimeOfDayDataSource.EMPTY_TIME; + return TimeOfDayDisplaySource.EMPTY_TIME; if (!context.sourceConfig() .contains("StartTime")) @@ -39,7 +39,7 @@ public class StopWatchDataSource extends SingleLineDataSource { } @Override - public void onSignalReset(DataGathererContext context) { + public void onSignalReset(DisplayLinkContext context) { context.sourceConfig() .putLong("StartTime", context.te() .getLevel() @@ -52,17 +52,17 @@ public class StopWatchDataSource extends SingleLineDataSource { } @Override - protected boolean allowsLabeling(DataGathererContext context) { + protected boolean allowsLabeling(DisplayLinkContext context) { return true; } @Override - protected String getFlapDisplayLayoutName(DataGathererContext context) { + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { return "Instant"; } @Override - protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) { + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "instant", false, false); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/TimeOfDayDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java similarity index 67% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/TimeOfDayDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java index 06dcd14af..125a12deb 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/TimeOfDayDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/TimeOfDayDisplaySource.java @@ -1,10 +1,10 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import com.simibubi.create.foundation.utility.Lang; @@ -14,12 +14,12 @@ import net.minecraft.server.level.ServerLevel; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class TimeOfDayDataSource extends SingleLineDataSource { +public class TimeOfDayDisplaySource extends SingleLineDisplaySource { public static final MutableComponent EMPTY_TIME = new TextComponent("--:--"); @Override - protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) { + protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) { if (!(context.level()instanceof ServerLevel sLevel)) return EMPTY_TIME; if (!(context.getSourceTE() instanceof CuckooClockTileEntity ccte)) @@ -56,12 +56,12 @@ public class TimeOfDayDataSource extends SingleLineDataSource { } @Override - protected String getFlapDisplayLayoutName(DataGathererContext context) { + protected String getFlapDisplayLayoutName(DisplayLinkContext context) { return "Instant"; } @Override - protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) { + protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) { return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "instant", false, false); } @@ -72,19 +72,19 @@ public class TimeOfDayDataSource extends SingleLineDataSource { @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { super.initConfigurationWidgets(context, builder, isFirstLine); if (isFirstLine) return; builder.addSelectionScrollInput(0, 60, (si, l) -> { - si.forOptions(Lang.translatedOptions("data_source.time", "12_hour", "24_hour")) - .titled(Lang.translate("data_source.time.format")); + si.forOptions(Lang.translatedOptions("display_source.time", "12_hour", "24_hour")) + .titled(Lang.translate("display_source.time.format")); }, "Cycle"); } @Override - protected boolean allowsLabeling(DataGathererContext context) { + protected boolean allowsLabeling(DisplayLinkContext context) { return true; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ValueListDataSource.java b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java similarity index 79% rename from src/main/java/com/simibubi/create/content/logistics/block/data/source/ValueListDataSource.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java index 4e71a6ae2..a6baa8309 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/source/ValueListDataSource.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/source/ValueListDisplaySource.java @@ -1,4 +1,4 @@ -package com.simibubi.create.content.logistics.block.data.source; +package com.simibubi.create.content.logistics.block.display.source; import static com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection.MONOSPACE; @@ -9,9 +9,9 @@ import java.util.stream.Stream; import org.apache.commons.lang3.mutable.MutableInt; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder; -import com.simibubi.create.content.logistics.block.data.target.DataTargetStats; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder; +import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; @@ -25,14 +25,14 @@ import net.minecraft.world.level.block.entity.LecternBlockEntity; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public abstract class ValueListDataSource extends DataGathererSource { +public abstract class ValueListDisplaySource extends DisplaySource { - protected abstract Stream> provideEntries(DataGathererContext context, int maxRows); + protected abstract Stream> provideEntries(DisplayLinkContext context, int maxRows); protected abstract boolean valueFirst(); @Override - public List provideText(DataGathererContext context, DataTargetStats stats) { + public List provideText(DisplayLinkContext context, DisplayTargetStats stats) { boolean isBook = context.getTargetTE() instanceof LecternBlockEntity; List list = provideEntries(context, stats.maxRows() * (isBook ? ENTRIES_PER_PAGE : 1)) @@ -77,7 +77,7 @@ public abstract class ValueListDataSource extends DataGathererSource { } @Override - public List> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) { + public List> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) { MutableInt highest = new MutableInt(0); context.flapDisplayContext = highest; return provideEntries(context, stats.maxRows()).map(e -> { @@ -87,7 +87,7 @@ public abstract class ValueListDataSource extends DataGathererSource { .toList(); } - protected List createComponentsFromEntry(DataGathererContext context, + protected List createComponentsFromEntry(DisplayLinkContext context, IntAttached entry) { int number = entry.getFirst(); MutableComponent name = entry.getSecond() @@ -104,7 +104,7 @@ public abstract class ValueListDataSource extends DataGathererSource { } @Override - public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay, + public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay, FlapDisplayLayout layout) { boolean valueFirst = valueFirst(); @@ -138,23 +138,23 @@ public abstract class ValueListDataSource extends DataGathererSource { private Couple shorten(int number) { if (number >= 1000000) return Couple.create(new TextComponent(String.valueOf(number / 1000000)), - Lang.translate("data_source.value_list.million") + Lang.translate("display_source.value_list.million") .append(WHITESPACE)); if (number >= 1000) return Couple.create(new TextComponent(String.valueOf(number / 1000)), - Lang.translate("data_source.value_list.thousand") + Lang.translate("display_source.value_list.thousand") .append(WHITESPACE)); return Couple.create(new TextComponent(String.valueOf(number)), WHITESPACE); } - protected boolean shortenNumbers(DataGathererContext context) { + protected boolean shortenNumbers(DisplayLinkContext context) { return context.sourceConfig() .getInt("Format") == 0; } @Override @OnlyIn(Dist.CLIENT) - public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) { + public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) { if (isFirstLine) addFullNumberConfig(builder); } @@ -162,8 +162,8 @@ public abstract class ValueListDataSource extends DataGathererSource { @OnlyIn(Dist.CLIENT) protected void addFullNumberConfig(LineBuilder builder) { builder.addSelectionScrollInput(0, 75, - (si, l) -> si.forOptions(Lang.translatedOptions("data_source.value_list", "shortened", "full_number")) - .titled(Lang.translate("data_source.value_list.display")), + (si, l) -> si.forOptions(Lang.translatedOptions("display_source.value_list", "shortened", "full_number")) + .titled(Lang.translate("display_source.value_list.display")), "Format"); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/FlapDisplayDataTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java similarity index 75% rename from src/main/java/com/simibubi/create/content/logistics/block/data/target/FlapDisplayDataTarget.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java index aba3989fc..8bb5bdf2f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/FlapDisplayDataTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayBoardTarget.java @@ -1,10 +1,10 @@ -package com.simibubi.create.content.logistics.block.data.target; +package com.simibubi.create.content.logistics.block.display.target; import java.util.List; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; -import com.simibubi.create.content.logistics.block.data.source.DataGathererSource; -import com.simibubi.create.content.logistics.block.data.source.SingleLineDataSource; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.content.logistics.block.display.source.DisplaySource; +import com.simibubi.create.content.logistics.block.display.source.SingleLineDisplaySource; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayLayout; import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity; @@ -17,19 +17,19 @@ import net.minecraft.world.phys.AABB; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class FlapDisplayDataTarget extends DataGathererTarget { +public class DisplayBoardTarget extends DisplayTarget { @Override - public void acceptText(int line, List text, DataGathererContext context) {} + public void acceptText(int line, List text, DisplayLinkContext context) {} - public void acceptFlapText(int line, List> text, DataGathererContext context) { + public void acceptFlapText(int line, List> text, DisplayLinkContext context) { FlapDisplayTileEntity controller = getController(context); if (controller == null) return; if (!controller.isSpeedRequirementFulfilled()) return; - DataGathererSource source = context.te().activeSource; + DisplaySource source = context.te().activeSource; List lines = controller.getLines(); for (int i = 0; i + line < lines.size(); i++) { @@ -41,7 +41,7 @@ public class FlapDisplayDataTarget extends DataGathererTarget { FlapDisplayLayout layout = lines.get(i + line); if (i >= text.size()) { - if (source instanceof SingleLineDataSource) + if (source instanceof SingleLineDisplaySource) break; controller.applyTextManually(i + line, null); continue; @@ -64,20 +64,20 @@ public class FlapDisplayDataTarget extends DataGathererTarget { } @Override - public boolean isReserved(int line, BlockEntity target, DataGathererContext context) { + public boolean isReserved(int line, BlockEntity target, DisplayLinkContext context) { return super.isReserved(line, target, context) || target instanceof FlapDisplayTileEntity fdte && fdte.manualLines.length > line && fdte.manualLines[line]; } @Override - public DataTargetStats provideStats(DataGathererContext context) { + public DisplayTargetStats provideStats(DisplayLinkContext context) { FlapDisplayTileEntity controller = getController(context); if (controller == null) - return new DataTargetStats(1, 1, this); - return new DataTargetStats(controller.ySize * 2, controller.getMaxCharCount(), this); + return new DisplayTargetStats(1, 1, this); + return new DisplayTargetStats(controller.ySize * 2, controller.getMaxCharCount(), this); } - private FlapDisplayTileEntity getController(DataGathererContext context) { + private FlapDisplayTileEntity getController(DisplayLinkContext context) { BlockEntity teIn = context.getTargetTE(); if (!(teIn instanceof FlapDisplayTileEntity te)) return null; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/DataGathererTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java similarity index 60% rename from src/main/java/com/simibubi/create/content/logistics/block/data/target/DataGathererTarget.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java index e5a38e571..ecf318fb3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/DataGathererTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTarget.java @@ -1,10 +1,10 @@ -package com.simibubi.create.content.logistics.block.data.target; +package com.simibubi.create.content.logistics.block.display.target; import java.util.List; import com.simibubi.create.AllBlocks; -import com.simibubi.create.content.logistics.block.data.DataGathererBehaviour; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; +import com.simibubi.create.content.logistics.block.display.DisplayBehaviour; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; @@ -16,11 +16,11 @@ import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.shapes.VoxelShape; -public abstract class DataGathererTarget extends DataGathererBehaviour { +public abstract class DisplayTarget extends DisplayBehaviour { - public abstract void acceptText(int line, List text, DataGathererContext context); + public abstract void acceptText(int line, List text, DisplayLinkContext context); - public abstract DataTargetStats provideStats(DataGathererContext context); + public abstract DisplayTargetStats provideStats(DisplayLinkContext context); public AABB getMultiblockBounds(LevelAccessor level, BlockPos pos) { VoxelShape shape = level.getBlockState(pos) @@ -32,24 +32,24 @@ public abstract class DataGathererTarget extends DataGathererBehaviour { } public Component getLineOptionText(int line) { - return Lang.translate("data_target.line", line + 1); + return Lang.translate("display_target.line", line + 1); } - public static void reserve(int line, BlockEntity target, DataGathererContext context) { + public static void reserve(int line, BlockEntity target, DisplayLinkContext context) { if (line == 0) return; CompoundTag tag = target.getTileData(); - CompoundTag compound = tag.getCompound("DataGatherer"); + CompoundTag compound = tag.getCompound("DisplayLink"); compound.putLong("Line" + line, context.te() .getBlockPos() .asLong()); - tag.put("DataGatherer", compound); + tag.put("DisplayLink", compound); } - public boolean isReserved(int line, BlockEntity target, DataGathererContext context) { + public boolean isReserved(int line, BlockEntity target, DisplayLinkContext context) { CompoundTag tag = target.getTileData(); - CompoundTag compound = tag.getCompound("DataGatherer"); + CompoundTag compound = tag.getCompound("DisplayLink"); if (!compound.contains("Line" + line)) return false; @@ -58,13 +58,13 @@ public abstract class DataGathererTarget extends DataGathererBehaviour { BlockPos reserved = BlockPos.of(l); if (!reserved.equals(context.te() - .getBlockPos()) && AllBlocks.DATA_GATHERER.has(target.getLevel() + .getBlockPos()) && AllBlocks.DISPLAY_LINK.has(target.getLevel() .getBlockState(reserved))) return true; compound.remove("Line" + line); if (compound.isEmpty()) - tag.remove("DataGatherer"); + tag.remove("DisplayLink"); return false; } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTargetStats.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTargetStats.java new file mode 100644 index 000000000..4381fc021 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/DisplayTargetStats.java @@ -0,0 +1,5 @@ +package com.simibubi.create.content.logistics.block.display.target; + +public record DisplayTargetStats(int maxRows, int maxColumns, DisplayTarget type) { + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/LecternDataTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java similarity index 84% rename from src/main/java/com/simibubi/create/content/logistics/block/data/target/LecternDataTarget.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java index 7d2d79f3d..13962758c 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/LecternDataTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/LecternDisplayTarget.java @@ -1,8 +1,8 @@ -package com.simibubi.create.content.logistics.block.data.target; +package com.simibubi.create.content.logistics.block.display.target; import java.util.List; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.nbt.CompoundTag; @@ -17,10 +17,10 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.LecternBlockEntity; -public class LecternDataTarget extends DataGathererTarget { +public class LecternDisplayTarget extends DisplayTarget { @Override - public void acceptText(int line, List text, DataGathererContext context) { + public void acceptText(int line, List text, DisplayLinkContext context) { BlockEntity te = context.getTargetTE(); if (!(te instanceof LecternBlockEntity lectern)) return; @@ -61,12 +61,12 @@ public class LecternDataTarget extends DataGathererTarget { } @Override - public DataTargetStats provideStats(DataGathererContext context) { - return new DataTargetStats(50, 256, this); + public DisplayTargetStats provideStats(DisplayLinkContext context) { + return new DisplayTargetStats(50, 256, this); } public Component getLineOptionText(int line) { - return Lang.translate("data_target.page", line + 1); + return Lang.translate("display_target.page", line + 1); } private ItemStack signBook(ItemStack book) { diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/NixieTubeDataTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java similarity index 84% rename from src/main/java/com/simibubi/create/content/logistics/block/data/target/NixieTubeDataTarget.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java index a516db76c..2a0857682 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/NixieTubeDataTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/NixieTubeDisplayTarget.java @@ -1,9 +1,9 @@ -package com.simibubi.create.content.logistics.block.data.target; +package com.simibubi.create.content.logistics.block.display.target; import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.mutable.MutableObject; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import com.simibubi.create.content.logistics.block.redstone.NixieTubeBlock; import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity; @@ -17,10 +17,10 @@ import net.minecraft.world.phys.Vec3; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -public class NixieTubeDataTarget extends SingleLineDataTarget { +public class NixieTubeDisplayTarget extends SingleLineDisplayTarget { @Override - protected void acceptLine(MutableComponent text, DataGathererContext context) { + protected void acceptLine(MutableComponent text, DisplayLinkContext context) { String tagElement = Component.Serializer.toJson(text); NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> { BlockEntity blockEntity = context.level() @@ -31,7 +31,7 @@ public class NixieTubeDataTarget extends SingleLineDataTarget { } @Override - protected int getWidth(DataGathererContext context) { + protected int getWidth(DisplayLinkContext context) { MutableInt count = new MutableInt(0); NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> count.add(2)); return count.intValue(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/data/target/SignDataTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java similarity index 71% rename from src/main/java/com/simibubi/create/content/logistics/block/data/target/SignDataTarget.java rename to src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java index ab771a23a..f157410a0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/data/target/SignDataTarget.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/SignDisplayTarget.java @@ -1,18 +1,18 @@ -package com.simibubi.create.content.logistics.block.data.target; +package com.simibubi.create.content.logistics.block.display.target; import java.util.List; -import com.simibubi.create.content.logistics.block.data.DataGathererContext; +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; import net.minecraft.network.chat.MutableComponent; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.SignBlockEntity; -public class SignDataTarget extends DataGathererTarget { +public class SignDisplayTarget extends DisplayTarget { @Override - public void acceptText(int line, List text, DataGathererContext context) { + public void acceptText(int line, List text, DisplayLinkContext context) { BlockEntity te = context.getTargetTE(); if (!(te instanceof SignBlockEntity sign)) return; @@ -33,8 +33,8 @@ public class SignDataTarget extends DataGathererTarget { } @Override - public DataTargetStats provideStats(DataGathererContext context) { - return new DataTargetStats(4, 15, this); + public DisplayTargetStats provideStats(DisplayLinkContext context) { + return new DisplayTargetStats(4, 15, this); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/display/target/SingleLineDisplayTarget.java b/src/main/java/com/simibubi/create/content/logistics/block/display/target/SingleLineDisplayTarget.java new file mode 100644 index 000000000..953ceb5df --- /dev/null +++ b/src/main/java/com/simibubi/create/content/logistics/block/display/target/SingleLineDisplayTarget.java @@ -0,0 +1,32 @@ +package com.simibubi.create.content.logistics.block.display.target; + +import java.util.List; + +import com.simibubi.create.content.logistics.block.display.DisplayLinkContext; +import com.simibubi.create.foundation.utility.Lang; + +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; + +public abstract class SingleLineDisplayTarget extends DisplayTarget { + + @Override + public final void acceptText(int line, List text, DisplayLinkContext context) { + acceptLine(text.get(0), context); + } + + protected abstract void acceptLine(MutableComponent text, DisplayLinkContext context); + + @Override + public final DisplayTargetStats provideStats(DisplayLinkContext context) { + return new DisplayTargetStats(1, getWidth(context), this); + } + + @Override + public Component getLineOptionText(int line) { + return Lang.translate("display_target.single_line"); + } + + protected abstract int getWidth(DisplayLinkContext context); + +} diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java index 141d74a20..90729a8c7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/NixieTubeTileEntity.java @@ -4,7 +4,7 @@ import java.lang.ref.WeakReference; import java.util.List; import java.util.Optional; -import com.simibubi.create.content.logistics.block.data.DataGathererBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity; import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; @@ -88,7 +88,7 @@ public class NixieTubeTileEntity extends SmartTileEntity { public void updateRedstoneStrength(int signalStrength) { clearCustomText(); redstoneStrength = signalStrength; - DataGathererBlock.notifyGatherers(level, worldPosition); + DisplayLinkBlock.notifyGatherers(level, worldPosition); notifyUpdate(); } @@ -103,7 +103,7 @@ public class NixieTubeTileEntity extends SmartTileEntity { component.displayCustomText(level, worldPosition, tagElement); customText = Optional.of(component); nixieIndex = nixiePositionInRow; - DataGathererBlock.notifyGatherers(level, worldPosition); + DisplayLinkBlock.notifyGatherers(level, worldPosition); notifyUpdate(); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java index 45d11b7b1..c4ec6e067 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/StockpileSwitchTileEntity.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block.redstone; import java.util.List; -import com.simibubi.create.content.logistics.block.data.DataGathererBlock; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour; @@ -147,7 +147,7 @@ public class StockpileSwitchTileEntity extends SmartTileEntity { scheduleBlockTick(); if (changed || update) { - DataGathererBlock.notifyGatherers(level, worldPosition); + DisplayLinkBlock.notifyGatherers(level, worldPosition); notifyUpdate(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java index 610c8bd4f..62c8c2d62 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayBlock.java @@ -315,12 +315,12 @@ public class FlapDisplayBlock extends HorizontalKineticBlock private static class PlacementHelper implements IPlacementHelper { @Override public Predicate getItemPredicate() { - return AllBlocks.FLAP_DISPLAY::isIn; + return AllBlocks.DISPLAY_BOARD::isIn; } @Override public Predicate getStatePredicate() { - return AllBlocks.FLAP_DISPLAY::has; + return AllBlocks.DISPLAY_BOARD::has; } @Override diff --git a/src/main/java/com/simibubi/create/events/ClientEvents.java b/src/main/java/com/simibubi/create/events/ClientEvents.java index c8c3c8f20..8525c75e9 100644 --- a/src/main/java/com/simibubi/create/events/ClientEvents.java +++ b/src/main/java/com/simibubi/create/events/ClientEvents.java @@ -30,8 +30,8 @@ import com.simibubi.create.content.curiosities.tools.BlueprintOverlayRenderer; import com.simibubi.create.content.curiosities.tools.ExtendoGripRenderHandler; import com.simibubi.create.content.curiosities.zapper.ZapperItem; import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperRenderHandler; -import com.simibubi.create.content.logistics.block.data.DataGathererBlockItem; import com.simibubi.create.content.logistics.block.depot.EjectorTargetHandler; +import com.simibubi.create.content.logistics.block.display.DisplayLinkBlockItem; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmInteractionPointHandler; import com.simibubi.create.content.logistics.item.LinkedControllerClientHandler; import com.simibubi.create.content.logistics.trains.entity.CarriageCouplingRenderer; @@ -161,7 +161,7 @@ public class ClientEvents { TrackPlacement.clientTick(); TrackRemoval.clientTick(); TrainRelocator.clientTick(); - DataGathererBlockItem.clientTick(); + DisplayLinkBlockItem.clientTick(); CurvedTrackInteraction.clientTick(); } diff --git a/src/main/java/com/simibubi/create/foundation/config/CLogistics.java b/src/main/java/com/simibubi/create/foundation/config/CLogistics.java index 028f24118..f568d15ab 100644 --- a/src/main/java/com/simibubi/create/foundation/config/CLogistics.java +++ b/src/main/java/com/simibubi/create/foundation/config/CLogistics.java @@ -8,7 +8,7 @@ public class CLogistics extends ConfigBase { public final ConfigInt psiTimeout = i(20, 1, "psiTimeout", Comments.psiTimeout); public final ConfigInt mechanicalArmRange = i(5, 1, "mechanicalArmRange", Comments.mechanicalArmRange); public final ConfigInt linkRange = i(128, 1, "linkRange", Comments.linkRange); - public final ConfigInt dataGathererRange = i(32, 1, "dataGathererRange", Comments.dataGathererRange); + public final ConfigInt displayLinkRange = i(32, 1, "displayLinkRange", Comments.displayLinkRange); public final ConfigInt vaultCapacity = i(20, 1, "vaultCapacity", Comments.vaultCapacity); @Override @@ -22,7 +22,7 @@ public class CLogistics extends ConfigBase { static String defaultExtractionTimer = "The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone."; static String linkRange = "Maximum possible range in blocks of redstone link connections."; - static String dataGathererRange = + static String displayLinkRange = "Maximum possible distance in blocks between data gatherers and their target."; static String psiTimeout = "The amount of ticks a portable storage interface waits for transfers until letting contraptions move along."; diff --git a/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java b/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java index a80231a48..d9015ad86 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AllGuiTextures.java @@ -81,10 +81,10 @@ public enum AllGuiTextures implements ScreenElement { PROJECTOR_END("projector", 0, 58, 162, 22), PROJECTOR_EMPTY("projector", 0, 80, 162, 22), - DATA_GATHERER("data_gatherer", 235, 162), - DATA_AREA_START("data_gatherer", 0, 163, 2, 18), - DATA_AREA("data_gatherer", 3, 163, 1, 18), - DATA_AREA_END("data_gatherer", 5, 163, 2, 18), + DATA_GATHERER("display_link", 235, 162), + DATA_AREA_START("display_link", 0, 163, 2, 18), + DATA_AREA("display_link", 3, 163, 1, 18), + DATA_AREA_END("display_link", 5, 163, 2, 18), SCHEDULE("schedule", 256, 226), SCHEDULE_CARD_DARK("schedule", 5, 233, 1, 1), diff --git a/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java b/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java index aa09b9a75..d8af33e12 100644 --- a/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java +++ b/src/main/java/com/simibubi/create/foundation/networking/AllPackets.java @@ -37,10 +37,10 @@ import com.simibubi.create.content.curiosities.weapons.PotatoCannonPacket; import com.simibubi.create.content.curiosities.weapons.PotatoProjectileTypeManager; import com.simibubi.create.content.curiosities.zapper.ZapperBeamPacket; import com.simibubi.create.content.curiosities.zapper.terrainzapper.ConfigureWorldshaperPacket; -import com.simibubi.create.content.logistics.block.data.DataGathererConfigurationPacket; import com.simibubi.create.content.logistics.block.depot.EjectorElytraPacket; import com.simibubi.create.content.logistics.block.depot.EjectorPlacementPacket; import com.simibubi.create.content.logistics.block.depot.EjectorTriggerPacket; +import com.simibubi.create.content.logistics.block.display.DisplayLinkConfigurationPacket; import com.simibubi.create.content.logistics.block.mechanicalArm.ArmPlacementPacket; import com.simibubi.create.content.logistics.item.LinkedControllerBindPacket; import com.simibubi.create.content.logistics.item.LinkedControllerInputPacket; @@ -127,7 +127,7 @@ public enum AllPackets { RELOCATE_TRAIN(TrainRelocationPacket.class, TrainRelocationPacket::new, PLAY_TO_SERVER), CONTROLS_INPUT(ControlsInputPacket.class, ControlsInputPacket::new, PLAY_TO_SERVER), REMOVE_TRACKS(TrackRemovalPacket.class, TrackRemovalPacket::new, PLAY_TO_SERVER), - CONFIGURE_DATA_GATHERER(DataGathererConfigurationPacket.class, DataGathererConfigurationPacket::new, PLAY_TO_SERVER), + CONFIGURE_DATA_GATHERER(DisplayLinkConfigurationPacket.class, DisplayLinkConfigurationPacket::new, PLAY_TO_SERVER), DESTROY_CURVED_TRACK(CurvedTrackDestroyPacket.class, CurvedTrackDestroyPacket::new, PLAY_TO_SERVER), SELECT_CURVED_TRACK(CurvedTrackSelectionPacket.class, CurvedTrackSelectionPacket::new, PLAY_TO_SERVER), PLACE_CURVED_TRACK(PlaceExtendedCurvePacket.class, PlaceExtendedCurvePacket::new, PLAY_TO_SERVER), diff --git a/src/main/resources/assets/create/lang/default/interface.json b/src/main/resources/assets/create/lang/default/interface.json index b1bb5a284..f6dd52929 100644 --- a/src/main/resources/assets/create/lang/default/interface.json +++ b/src/main/resources/assets/create/lang/default/interface.json @@ -690,64 +690,64 @@ "create.contraption.controls.stop_controlling": "Stopped controlling contraption", "create.contraption.controls.approach_station": "Hold %1$s to approach %2$s", - "create.data_gatherer.set": "Targeted position selected", - "create.data_gatherer.success": "Successfully bound to targeted position", - "create.data_gatherer.clear": "Cleared position selection", - "create.data_gatherer.too_far": "Targeted position is too far from here", - "create.data_gatherer.invalid": "Gatherer has no valid target, try placing it again", - "create.data_gatherer.title": "Data Gatherer", - "create.data_gatherer.no_source": "Not a Data Source", - "create.data_gatherer.no_target": "Not a Data Target", - "create.data_gatherer.reading_from": "Read from:", - "create.data_gatherer.writing_to": "Send to:", - "create.data_gatherer.attached_side": "Block on attached side", - "create.data_gatherer.targeted_location": "Block in targeted location", - "create.data_gatherer.view_compatible": "Click to view all Compatible", - "create.data_gatherer.information_type": "Type of Information", - "create.data_gatherer.display_on": "Write data to:", - "create.data_gatherer.display_on_multiline": "Start writing at:", + "create.display_link.set": "Targeted position selected", + "create.display_link.success": "Successfully bound to targeted position", + "create.display_link.clear": "Cleared position selection", + "create.display_link.too_far": "Targeted position is too far from here", + "create.display_link.invalid": "Link has no valid target, try placing it again", + "create.display_link.title": "Display Link", + "create.display_link.no_source": "Not a Display Source", + "create.display_link.no_target": "Not a Display Target", + "create.display_link.reading_from": "Read from:", + "create.display_link.writing_to": "Send to:", + "create.display_link.attached_side": "Block on attached side", + "create.display_link.targeted_location": "Block in targeted location", + "create.display_link.view_compatible": "Click to view all Compatible", + "create.display_link.information_type": "Type of Information", + "create.display_link.display_on": "Write data to:", + "create.display_link.display_on_multiline": "Start writing at:", - "create.data_source.label": "Attached Label", - "create.data_source.combine_item_names": "Combine Item Names", - "create.data_source.count_items": "Amount of matching Items", - "create.data_source.list_items": "List matching Items", - "create.data_source.nixie_tube": "Copy Nixie Tubes", - "create.data_source.fill_level": "Container Fill Level", - "create.data_source.fill_level.display": "Display Format", - "create.data_source.fill_level.percent": "Percent", - "create.data_source.fill_level.progress_bar": "Progress Bar", - "create.data_source.value_list.display": "Value Display", - "create.data_source.value_list.shortened": "Shortened", - "create.data_source.value_list.full_number": "Full Number", - "create.data_source.value_list.thousand": "k", - "create.data_source.value_list.million": "m", - "create.data_source.player_deaths": "Player Deaths", - "create.data_source.scoreboard": "Scoreboard", - "create.data_source.scoreboard.objective": "Objective ID", - "create.data_source.scoreboard.objective_not_found": "'%1$s' not found", - "create.data_source.scoreboard.objective.deaths": "Player Deaths", - "create.data_source.time_of_day": "Time of Day", - "create.data_source.stop_watch": "Stopwatch", - "create.data_source.time.format": "Time Format", - "create.data_source.time.12_hour": "12-hour", - "create.data_source.time.24_hour": "24-hour", - "create.data_source.accumulate_items": "Accumulate Item Count", - "create.data_source.item_throughput": "Item Throughput", - "create.data_source.item_throughput.interval": "Interval", - "create.data_source.item_throughput.interval.second": "per Second", - "create.data_source.item_throughput.interval.minute": "per Minute", - "create.data_source.item_throughput.interval.hour": "per Hour", - "create.data_source.station_summary": "Train Station Summary", - "create.data_source.station_summary.filter": "Station name filter", - "create.data_source.station_summary.train_name_column": "Train column size", - "create.data_source.station_summary.platform_column": "Platform column size", - "create.data_source.station_summary.now": "now", - "create.data_source.station_summary.minutes": " min", - "create.data_source.station_summary.seconds": "%1$ss", + "create.display_source.label": "Attached Label", + "create.display_source.combine_item_names": "Combine Item Names", + "create.display_source.count_items": "Amount of matching Items", + "create.display_source.list_items": "List matching Items", + "create.display_source.nixie_tube": "Copy Nixie Tubes", + "create.display_source.fill_level": "Container Fill Level", + "create.display_source.fill_level.display": "Display Format", + "create.display_source.fill_level.percent": "Percent", + "create.display_source.fill_level.progress_bar": "Progress Bar", + "create.display_source.value_list.display": "Value Display", + "create.display_source.value_list.shortened": "Shortened", + "create.display_source.value_list.full_number": "Full Number", + "create.display_source.value_list.thousand": "k", + "create.display_source.value_list.million": "m", + "create.display_source.player_deaths": "Player Deaths", + "create.display_source.scoreboard": "Scoreboard", + "create.display_source.scoreboard.objective": "Objective ID", + "create.display_source.scoreboard.objective_not_found": "'%1$s' not found", + "create.display_source.scoreboard.objective.deaths": "Player Deaths", + "create.display_source.time_of_day": "Time of Day", + "create.display_source.stop_watch": "Stopwatch", + "create.display_source.time.format": "Time Format", + "create.display_source.time.12_hour": "12-hour", + "create.display_source.time.24_hour": "24-hour", + "create.display_source.accumulate_items": "Accumulate Item Count", + "create.display_source.item_throughput": "Item Throughput", + "create.display_source.item_throughput.interval": "Interval", + "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.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", + "create.display_source.station_summary.platform_column": "Platform column size", + "create.display_source.station_summary.now": "now", + "create.display_source.station_summary.minutes": " min", + "create.display_source.station_summary.seconds": "%1$ss", - "create.data_target.line": "Line %1$s", - "create.data_target.page": "Page %1$s", - "create.data_target.single_line": "Single Line", + "create.display_target.line": "Line %1$s", + "create.display_target.page": "Page %1$s", + "create.display_target.single_line": "Single Line", "create.flap_display.cycles.alphabet": " ;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;X;Y;Z", "create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9", diff --git a/src/main/resources/assets/create/models/block/controls/block_closed.json b/src/main/resources/assets/create/models/block/controls/block_closed.json index a002183d1..d6a68aaec 100644 --- a/src/main/resources/assets/create/models/block/controls/block_closed.json +++ b/src/main/resources/assets/create/models/block/controls/block_closed.json @@ -1,42 +1,97 @@ { "credit": "Made with Blockbench", - "texture_size": [32, 32], "textures": { - "8": "create:block/controls", - "9": "create:block/signal_box_top", + "4": "create:block/controls_frame", + "1_7": "create:block/controls", "particle": "create:block/bogey/particle" }, "elements": [ { - "from": [0, 0, 8], - "to": [16, 5, 16], + "from": [14, 0, 6], + "to": [16, 14, 16], "faces": { - "north": {"uv": [0, 8, 8, 10.5], "texture": "#8"}, - "east": {"uv": [16, 5.5, 12, 8], "texture": "#8"}, - "south": {"uv": [0, 5.5, 8, 8], "texture": "#8"}, - "west": {"uv": [12, 5.5, 16, 8], "texture": "#8"}, - "down": {"uv": [0, 4, 16, 12], "texture": "#9"} + "north": {"uv": [0, 9, 1, 16], "texture": "#4"}, + "east": {"uv": [13, 0, 8, 7], "texture": "#4"}, + "south": {"uv": [7, 0, 8, 7], "texture": "#4"}, + "west": {"uv": [16, 9, 11, 16], "texture": "#4"}, + "up": {"uv": [0, 0, 1, 5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"} } }, { - "from": [0, 5, 6], - "to": [16, 14, 16], + "from": [2, 5, 14], + "to": [14, 14, 16], "faces": { - "north": {"uv": [8, 11, 16, 15.5], "texture": "#8"}, - "east": {"uv": [16, 0, 11, 4.5], "texture": "#8"}, - "south": {"uv": [0, 0, 8, 4.5], "texture": "#8"}, - "west": {"uv": [11, 0, 16, 4.5], "texture": "#8"}, - "up": {"uv": [0, 11, 8, 16], "rotation": 180, "texture": "#8"}, - "down": {"uv": [8, 11, 16, 16], "rotation": 180, "texture": "#8"} + "north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"}, + "south": {"uv": [1, 0, 7, 4.5], "texture": "#4"}, + "up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#1_7"} + } + }, + { + "from": [0, 0, 6], + "to": [2, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, + "faces": { + "north": {"uv": [7, 9, 8, 16], "texture": "#4"}, + "east": {"uv": [11, 9, 16, 16], "texture": "#4"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#4"}, + "west": {"uv": [8, 0, 13, 7], "texture": "#4"}, + "up": {"uv": [7, 0, 8, 5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"} + } + }, + { + "from": [2, 5, 6], + "to": [14, 14, 14], + "faces": { + "north": {"uv": [1, 9.5, 7, 5], "rotation": 180, "texture": "#1_7"}, + "up": {"uv": [1, 5, 7, 1], "texture": "#1_7"}, + "down": {"uv": [1, 9.5, 7, 5.5], "texture": "#1_7"} + } + }, + { + "from": [2, 0, 8], + "to": [14, 5, 16], + "faces": { + "north": {"uv": [1, 13.5, 7, 16], "texture": "#4"}, + "south": {"uv": [1, 4.5, 7, 7], "texture": "#4"}, + "down": {"uv": [7, 12, 1, 16], "texture": "#1_7"} } } ], - "groups": [ - { - "name": "closed", - "origin": [0, 0, 0], - "color": 0, - "children": [0, 1] + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.5, -0.25, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 8.5, -2.25] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] } - ] + } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controls/block_open.json b/src/main/resources/assets/create/models/block/controls/block_open.json index d71567a7d..e217883f8 100644 --- a/src/main/resources/assets/create/models/block/controls/block_open.json +++ b/src/main/resources/assets/create/models/block/controls/block_open.json @@ -1,74 +1,97 @@ { "credit": "Made with Blockbench", - "texture_size": [32, 32], "textures": { - "7": "create:block/controls", - "8": "create:block/signal_box_top", + "4": "create:block/controls_frame", + "1_7": "create:block/controls", "particle": "create:block/bogey/particle" }, "elements": [ { - "from": [14, 5, 6], + "from": [14, 0, 6], "to": [16, 14, 16], "faces": { - "north": {"uv": [8, 11, 9, 15.5], "texture": "#7"}, - "east": {"uv": [16, 0, 11, 4.5], "texture": "#7"}, - "south": {"uv": [7, 0, 8, 4.5], "texture": "#7"}, - "west": {"uv": [11, 0, 16, 4.5], "texture": "#7"}, - "up": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#7"}, - "down": {"uv": [8, 11, 9, 16], "rotation": 180, "texture": "#7"} + "north": {"uv": [0, 9, 1, 16], "texture": "#4"}, + "east": {"uv": [13, 0, 8, 7], "texture": "#4"}, + "south": {"uv": [7, 0, 8, 7], "texture": "#4"}, + "west": {"uv": [16, 9, 11, 16], "texture": "#4"}, + "up": {"uv": [0, 0, 1, 5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"} } }, { "from": [2, 5, 14], "to": [14, 14, 16], "faces": { - "north": {"uv": [1, 0, 7, 4.5], "texture": "#7"}, - "south": {"uv": [1, 0, 7, 4.5], "texture": "#7"}, - "up": {"uv": [1, 11, 7, 12], "rotation": 180, "texture": "#7"} + "north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"}, + "south": {"uv": [1, 0, 7, 4.5], "texture": "#4"}, + "up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#1_7"} } }, { - "from": [0, 5, 6], + "from": [0, 0, 6], "to": [2, 14, 16], "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, "faces": { - "north": {"uv": [15, 11, 16, 15.5], "texture": "#7"}, - "east": {"uv": [16, 0, 11, 4.5], "texture": "#7"}, - "south": {"uv": [0, 0, 1, 4.5], "texture": "#7"}, - "west": {"uv": [11, 0, 16, 4.5], "texture": "#7"}, - "up": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#7"}, - "down": {"uv": [15, 11, 16, 16], "rotation": 180, "texture": "#7"} + "north": {"uv": [7, 9, 8, 16], "texture": "#4"}, + "east": {"uv": [11, 9, 16, 16], "texture": "#4"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#4"}, + "west": {"uv": [8, 0, 13, 7], "texture": "#4"}, + "up": {"uv": [7, 0, 8, 5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"} } }, { "from": [2, 5, 7], "to": [14, 13, 15], "faces": { - "north": {"uv": [8, 4.5, 12, 10.5], "rotation": 270, "texture": "#7"}, - "up": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#7"}, - "down": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#7"} + "north": {"uv": [1, 14, 7, 10.05], "rotation": 180, "texture": "#4"}, + "up": {"uv": [1, 13.5, 7, 9.55], "texture": "#4"}, + "down": {"uv": [1, 14.5, 7, 10.5], "rotation": 180, "texture": "#4"} } }, { - "from": [0, 0, 8], - "to": [16, 5, 16], + "from": [2, 0, 8], + "to": [14, 5, 16], "faces": { - "north": {"uv": [0, 8, 8, 10.5], "texture": "#7"}, - "east": {"uv": [16, 5.5, 12, 8], "texture": "#7"}, - "south": {"uv": [0, 5.5, 8, 8], "texture": "#7"}, - "west": {"uv": [12, 5.5, 16, 8], "texture": "#7"}, - "down": {"uv": [0, 4, 16, 12], "texture": "#8"} + "north": {"uv": [1, 13.5, 7, 16], "texture": "#4"}, + "south": {"uv": [1, 4.5, 7, 7], "texture": "#4"}, + "down": {"uv": [7, 12, 1, 16], "texture": "#1_7"} } } ], - "groups": [ - { - "name": "open", - "origin": [0, 0, 0], - "color": 0, - "children": [0, 1, 2, 3] + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] }, - 4 - ] + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [1.5, -0.25, 0], + "scale": [0.625, 0.625, 0.625] + }, + "head": { + "translation": [0, 8.5, -2.25] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controls/item.json b/src/main/resources/assets/create/models/block/controls/item.json index 70dfc0514..20769bc74 100644 --- a/src/main/resources/assets/create/models/block/controls/item.json +++ b/src/main/resources/assets/create/models/block/controls/item.json @@ -1,8 +1,7 @@ { "credit": "Made with Blockbench", "textures": { - "8": "create:block/signal_box_top", - "12": "create:block/train_controls", + "4": "create:block/controls_frame", "1_7": "create:block/controls", "particle": "create:block/bogey/particle" }, @@ -12,12 +11,12 @@ "to": [6, 11, 9], "rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]}, "faces": { - "north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#12"}, - "east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#12"}, - "south": {"uv": [0, 0, 0, 0], "texture": "#12"}, - "west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#12"}, - "up": {"uv": [0, 6, 2, 16], "texture": "#12"}, - "down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#12"} + "north": {"uv": [8, 1.5, 9, 2.5], "rotation": 180, "texture": "#1_7"}, + "east": {"uv": [9, 3, 8, 8], "rotation": 90, "texture": "#1_7"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [9, 3, 8, 8], "rotation": 270, "texture": "#1_7"}, + "up": {"uv": [8, 3, 9, 8], "texture": "#1_7"}, + "down": {"uv": [8, 3, 9, 8], "rotation": 180, "texture": "#1_7"} } }, { @@ -25,33 +24,32 @@ "to": [12, 11, 9], "rotation": {"angle": 22.5, "axis": "x", "origin": [0, 10, 11]}, "faces": { - "north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#12"}, - "east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#12"}, - "south": {"uv": [0, 0, 0, 0], "texture": "#12"}, - "west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#12"}, - "up": {"uv": [0, 6, 2, 16], "texture": "#12"}, - "down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#12"} + "north": {"uv": [8, 1.5, 9, 2.5], "rotation": 180, "texture": "#1_7"}, + "east": {"uv": [9, 3, 8, 8], "rotation": 90, "texture": "#1_7"}, + "west": {"uv": [9, 3, 8, 8], "rotation": 270, "texture": "#1_7"}, + "up": {"uv": [8, 3, 9, 8], "texture": "#1_7"}, + "down": {"uv": [8, 3, 9, 8], "rotation": 180, "texture": "#1_7"} } }, { "from": [2, 4.95, 6.75], "to": [14, 13.2, 14], "faces": { - "north": {"uv": [2, 5, 14, 13], "texture": "#12"}, - "up": {"uv": [2, 0, 14, 7.5], "rotation": 180, "texture": "#12"}, - "down": {"uv": [2, 0, 14, 8], "rotation": 180, "texture": "#12"} + "north": {"uv": [9.5, 3.5, 15.5, 0], "texture": "#1_7"}, + "up": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"} } }, { - "from": [14, 5, 6], + "from": [14, 0, 6], "to": [16, 14, 16], "faces": { - "north": {"uv": [8, 11, 9, 15.5], "texture": "#1_7"}, - "east": {"uv": [16, 0, 11, 4.5], "texture": "#1_7"}, - "south": {"uv": [7, 0, 8, 4.5], "texture": "#1_7"}, - "west": {"uv": [11, 0, 16, 4.5], "texture": "#1_7"}, - "up": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"}, - "down": {"uv": [8, 11, 9, 16], "rotation": 180, "texture": "#1_7"} + "north": {"uv": [0, 9, 1, 16], "texture": "#4"}, + "east": {"uv": [13, 0, 8, 7], "texture": "#4"}, + "south": {"uv": [7, 0, 8, 7], "texture": "#4"}, + "west": {"uv": [16, 9, 11, 16], "texture": "#4"}, + "up": {"uv": [0, 0, 1, 5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"} } }, { @@ -59,41 +57,39 @@ "to": [14, 14, 16], "faces": { "north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"}, - "south": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"}, - "up": {"uv": [1, 11, 7, 12], "rotation": 180, "texture": "#1_7"} + "south": {"uv": [1, 0, 7, 4.5], "texture": "#4"}, + "up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#1_7"} } }, { - "from": [0, 5, 6], + "from": [0, 0, 6], "to": [2, 14, 16], "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, "faces": { - "north": {"uv": [15, 11, 16, 15.5], "texture": "#1_7"}, - "east": {"uv": [16, 0, 11, 4.5], "texture": "#1_7"}, - "south": {"uv": [0, 0, 1, 4.5], "texture": "#1_7"}, - "west": {"uv": [11, 0, 16, 4.5], "texture": "#1_7"}, - "up": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"}, - "down": {"uv": [15, 11, 16, 16], "rotation": 180, "texture": "#1_7"} + "north": {"uv": [7, 9, 8, 16], "texture": "#4"}, + "east": {"uv": [11, 9, 16, 16], "texture": "#4"}, + "south": {"uv": [0, 0, 1, 7], "texture": "#4"}, + "west": {"uv": [8, 0, 13, 7], "texture": "#4"}, + "up": {"uv": [7, 0, 8, 5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"} } }, { "from": [2, 5, 7], "to": [14, 13, 15], "faces": { - "north": {"uv": [8, 4.5, 12, 10.5], "rotation": 270, "texture": "#1_7"}, - "up": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#1_7"}, - "down": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#1_7"} + "north": {"uv": [1, 14, 7, 10], "rotation": 180, "texture": "#4"}, + "up": {"uv": [1, 13.5, 7, 9.5], "texture": "#4"}, + "down": {"uv": [1, 14.5, 7, 10.5], "rotation": 180, "texture": "#4"} } }, { - "from": [0, 0, 8], - "to": [16, 5, 16], + "from": [2, 0, 8], + "to": [14, 5, 16], "faces": { - "north": {"uv": [0, 8, 8, 10.5], "texture": "#1_7"}, - "east": {"uv": [16, 5.5, 12, 8], "texture": "#1_7"}, - "south": {"uv": [0, 5.5, 8, 8], "texture": "#1_7"}, - "west": {"uv": [12, 5.5, 16, 8], "texture": "#1_7"}, - "down": {"uv": [0, 4, 16, 12], "texture": "#8"} + "north": {"uv": [1, 13.5, 7, 16], "texture": "#4"}, + "south": {"uv": [1, 4.5, 7, 7], "texture": "#4"}, + "down": {"uv": [7, 12, 1, 16], "texture": "#1_7"} } } ], diff --git a/src/main/resources/assets/create/models/block/controls/train/cover.json b/src/main/resources/assets/create/models/block/controls/train/cover.json index a0875c3ab..1c240b465 100644 --- a/src/main/resources/assets/create/models/block/controls/train/cover.json +++ b/src/main/resources/assets/create/models/block/controls/train/cover.json @@ -1,7 +1,7 @@ { "credit": "Made with Blockbench", "textures": { - "12": "create:block/train_controls", + "1_7": "create:block/controls", "particle": "create:block/bogey/particle" }, "elements": [ @@ -9,9 +9,9 @@ "from": [2, 4.95, 6.75], "to": [14, 13.2, 14], "faces": { - "north": {"uv": [2, 5, 14, 13], "texture": "#12"}, - "up": {"uv": [2, 0, 14, 7.5], "rotation": 180, "texture": "#12"}, - "down": {"uv": [2, 0, 14, 8], "rotation": 180, "texture": "#12"} + "north": {"uv": [9.5, 3.5, 15.5, 0], "texture": "#1_7"}, + "up": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"}, + "down": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"} } } ], @@ -40,7 +40,7 @@ }, "gui": { "rotation": [30, 225, 0], - "translation": [1, 0, 0], + "translation": [1.5, -0.25, 0], "scale": [0.625, 0.625, 0.625] }, "head": { @@ -49,13 +49,5 @@ "fixed": { "scale": [0.5, 0.5, 0.5] } - }, - "groups": [ - { - "name": "cover", - "origin": [8, 8, 8], - "color": 0, - "children": [0] - } - ] + } } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/controls/train/lever.json b/src/main/resources/assets/create/models/block/controls/train/lever.json index 5a3d0d1ce..49cb62d67 100644 --- a/src/main/resources/assets/create/models/block/controls/train/lever.json +++ b/src/main/resources/assets/create/models/block/controls/train/lever.json @@ -1,7 +1,7 @@ { "credit": "Made with Blockbench", "textures": { - "5": "create:block/train_controls" + "5": "create:block/controls" }, "elements": [ { @@ -9,11 +9,11 @@ "to": [6, 11, 9], "rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]}, "faces": { - "north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#5"}, - "east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#5"}, - "west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#5"}, - "up": {"uv": [0, 6, 2, 16], "texture": "#5"}, - "down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#5"} + "north": {"uv": [8, 1.5, 9, 2.5], "rotation": 180, "texture": "#5"}, + "east": {"uv": [9, 3, 8, 8], "rotation": 90, "texture": "#5"}, + "west": {"uv": [9, 3, 8, 8], "rotation": 270, "texture": "#5"}, + "up": {"uv": [8, 3, 9, 8], "texture": "#5"}, + "down": {"uv": [8, 3, 9, 8], "rotation": 180, "texture": "#5"} } } ] diff --git a/src/main/resources/assets/create/models/block/data_gatherer/block_powered.json b/src/main/resources/assets/create/models/block/data_gatherer/block_powered.json deleted file mode 100644 index 94ef70b7b..000000000 --- a/src/main/resources/assets/create/models/block/data_gatherer/block_powered.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "create:block/data_gatherer/block", - "textures": { - "3": "create:block/data_gatherer_side_powered" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/data_gatherer/block.json b/src/main/resources/assets/create/models/block/display_link/block.json similarity index 79% rename from src/main/resources/assets/create/models/block/data_gatherer/block.json rename to src/main/resources/assets/create/models/block/display_link/block.json index 34509d57f..ad18cbb19 100644 --- a/src/main/resources/assets/create/models/block/data_gatherer/block.json +++ b/src/main/resources/assets/create/models/block/display_link/block.json @@ -2,15 +2,14 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/data_gatherer", - "2": "create:block/smooth_dark_log_top", - "3": "create:block/data_gatherer_side", + "0": "create:block/display_link", + "3": "create:block/display_link_side", "particle": "create:block/brass_casing" }, "elements": [ { - "from": [9, 6, 3], - "to": [13, 9, 12], + "from": [9, 6, 3.5], + "to": [13, 9, 12.5], "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, "faces": { "north": {"uv": [14.5, 0, 12.5, 1.5], "texture": "#0"}, @@ -25,22 +24,22 @@ "to": [15, 6, 15], "faces": { "north": {"uv": [0, 0, 14, 5], "texture": "#3"}, - "east": {"uv": [7.5, 8.5, 10, 15.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [7.5, 9, 10, 16], "rotation": 90, "texture": "#0"}, "south": {"uv": [0, 0, 14, 5], "texture": "#3"}, - "west": {"uv": [7.5, 8.5, 10, 15.5], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 6, 7, 13], "texture": "#0"}, - "down": {"uv": [1, 1, 15, 15], "texture": "#2"} + "west": {"uv": [7.5, 9, 10, 16], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 9, 7, 16], "texture": "#0"}, + "down": {"uv": [0, 1.5, 7, 8.5], "texture": "#0"} } }, { "from": [2, -1, 2], "to": [14, 1, 14], "faces": { - "north": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"}, - "east": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"}, - "south": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"}, - "west": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"}, - "down": {"uv": [0, 0, 6, 6], "texture": "#0"} + "north": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"}, + "east": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"}, + "south": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"}, + "west": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"}, + "down": {"uv": [0.5, 2, 6.5, 8], "texture": "#0"} } }, { diff --git a/src/main/resources/assets/create/models/block/display_link/block_powered.json b/src/main/resources/assets/create/models/block/display_link/block_powered.json new file mode 100644 index 000000000..5deb18547 --- /dev/null +++ b/src/main/resources/assets/create/models/block/display_link/block_powered.json @@ -0,0 +1,6 @@ +{ + "parent": "create:block/display_link/block", + "textures": { + "3": "create:block/display_link_side_powered" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/data_gatherer/glow.json b/src/main/resources/assets/create/models/block/display_link/glow.json similarity index 96% rename from src/main/resources/assets/create/models/block/data_gatherer/glow.json rename to src/main/resources/assets/create/models/block/display_link/glow.json index 65359e0aa..c862cf224 100644 --- a/src/main/resources/assets/create/models/block/data_gatherer/glow.json +++ b/src/main/resources/assets/create/models/block/display_link/glow.json @@ -2,7 +2,7 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/data_gatherer" + "0": "create:block/display_link" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/data_gatherer/tube.json b/src/main/resources/assets/create/models/block/display_link/tube.json similarity index 96% rename from src/main/resources/assets/create/models/block/data_gatherer/tube.json rename to src/main/resources/assets/create/models/block/display_link/tube.json index 0c10b7d44..8f54a5137 100644 --- a/src/main/resources/assets/create/models/block/data_gatherer/tube.json +++ b/src/main/resources/assets/create/models/block/display_link/tube.json @@ -2,7 +2,7 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/data_gatherer" + "0": "create:block/display_link" }, "elements": [ { diff --git a/src/main/resources/assets/create/textures/block/controls.png b/src/main/resources/assets/create/textures/block/controls.png index f595a140e..df69e14ae 100644 Binary files a/src/main/resources/assets/create/textures/block/controls.png and b/src/main/resources/assets/create/textures/block/controls.png differ diff --git a/src/main/resources/assets/create/textures/block/controls_frame.png b/src/main/resources/assets/create/textures/block/controls_frame.png new file mode 100644 index 000000000..c739282c2 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/controls_frame.png differ diff --git a/src/main/resources/assets/create/textures/block/data_gatherer.png b/src/main/resources/assets/create/textures/block/data_gatherer.png deleted file mode 100644 index 5a150a2bc..000000000 Binary files a/src/main/resources/assets/create/textures/block/data_gatherer.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/data_gatherer_side.png b/src/main/resources/assets/create/textures/block/data_gatherer_side.png deleted file mode 100644 index dceb4df21..000000000 Binary files a/src/main/resources/assets/create/textures/block/data_gatherer_side.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/data_gatherer_side_powered.png b/src/main/resources/assets/create/textures/block/data_gatherer_side_powered.png deleted file mode 100644 index 1766fbbcb..000000000 Binary files a/src/main/resources/assets/create/textures/block/data_gatherer_side_powered.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/block/display_link.png b/src/main/resources/assets/create/textures/block/display_link.png new file mode 100644 index 000000000..2f2ae18e7 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/display_link.png differ diff --git a/src/main/resources/assets/create/textures/block/display_link_side.png b/src/main/resources/assets/create/textures/block/display_link_side.png new file mode 100644 index 000000000..7f5c83549 Binary files /dev/null and b/src/main/resources/assets/create/textures/block/display_link_side.png differ diff --git a/src/main/resources/assets/create/textures/block/display_link_side_powered.png b/src/main/resources/assets/create/textures/block/display_link_side_powered.png new file mode 100644 index 000000000..582131c5e Binary files /dev/null and b/src/main/resources/assets/create/textures/block/display_link_side_powered.png differ diff --git a/src/main/resources/assets/create/textures/block/train_controls.png b/src/main/resources/assets/create/textures/block/train_controls.png deleted file mode 100644 index d415ff701..000000000 Binary files a/src/main/resources/assets/create/textures/block/train_controls.png and /dev/null differ diff --git a/src/main/resources/assets/create/textures/gui/data_gatherer.png b/src/main/resources/assets/create/textures/gui/display_link.png similarity index 100% rename from src/main/resources/assets/create/textures/gui/data_gatherer.png rename to src/main/resources/assets/create/textures/gui/display_link.png