Display Link, Train Controls re-polish
- Integrated new assets by Kryppers - Data Gatherer -> Display Link
|
@ -188,13 +188,13 @@ b496452f2f7dbbba385e1fc10b560ec266e4b5e7 assets/create/blockstates/cyan_sail.jso
|
||||||
2c04d57e56849f243aec8a1e769574d24daac1e9 assets/create/blockstates/cyan_valve_handle.json
|
2c04d57e56849f243aec8a1e769574d24daac1e9 assets/create/blockstates/cyan_valve_handle.json
|
||||||
1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets/create/blockstates/dark_oak_window.json
|
1726b1b9e04a0634e7e1fdcf1cf4cc898efc5c2f assets/create/blockstates/dark_oak_window.json
|
||||||
50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets/create/blockstates/dark_oak_window_pane.json
|
50d4627d8e8b5adade12de764ab528ddacfa9ea5 assets/create/blockstates/dark_oak_window_pane.json
|
||||||
990cdcce80e6e4ea3055c2572c5fafe3ee795b0f assets/create/blockstates/data_gatherer.json
|
|
||||||
de0116bf32a26d697a3b999044d6fb0b1b98320e assets/create/blockstates/deepslate_pillar.json
|
de0116bf32a26d697a3b999044d6fb0b1b98320e assets/create/blockstates/deepslate_pillar.json
|
||||||
c3317a94c509d4bb2fe9c6f64a072334421998d3 assets/create/blockstates/deepslate_zinc_ore.json
|
c3317a94c509d4bb2fe9c6f64a072334421998d3 assets/create/blockstates/deepslate_zinc_ore.json
|
||||||
ac85f55d82d96fc15750e6b954297cfd1e00d04d assets/create/blockstates/deployer.json
|
ac85f55d82d96fc15750e6b954297cfd1e00d04d assets/create/blockstates/deployer.json
|
||||||
3660f44309279a0347347f23ce7444c6ed98cafd assets/create/blockstates/depot.json
|
3660f44309279a0347347f23ce7444c6ed98cafd assets/create/blockstates/depot.json
|
||||||
0270b68550e19720d0cdc9e44f63618908628192 assets/create/blockstates/diorite_pillar.json
|
0270b68550e19720d0cdc9e44f63618908628192 assets/create/blockstates/diorite_pillar.json
|
||||||
62cc543abb242836570d07d619fcdb4c79c75db4 assets/create/blockstates/display_board.json
|
62cc543abb242836570d07d619fcdb4c79c75db4 assets/create/blockstates/display_board.json
|
||||||
|
6766818ea63026a3af2fb9d81110d3887c74b0f8 assets/create/blockstates/display_link.json
|
||||||
30b3422bfee9878c92521429b2536d3e0313cedb assets/create/blockstates/dripstone_pillar.json
|
30b3422bfee9878c92521429b2536d3e0313cedb assets/create/blockstates/dripstone_pillar.json
|
||||||
35fc68eb1d031d28ad09b7b603e64ae459634179 assets/create/blockstates/encased_chain_drive.json
|
35fc68eb1d031d28ad09b7b603e64ae459634179 assets/create/blockstates/encased_chain_drive.json
|
||||||
7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.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
|
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||||
875f9aff979888b9d63d6a425cbf544431f1af5a assets/create/lang/en_ud.json
|
df56b5a55feb05caf63e59d7473c814cc212c593 assets/create/lang/en_ud.json
|
||||||
0a0155981901a175ef3d80376bd12bf6ed87fc40 assets/create/lang/en_us.json
|
16081fd6f3e8241aa3c4f3bd6d867d8555478787 assets/create/lang/en_us.json
|
||||||
2441d72bd7c3f9bd175a3b7ad6dfd08650244333 assets/create/lang/unfinished/de_de.json
|
e61667043280cfb4414f063dd70761ea801e3129 assets/create/lang/unfinished/de_de.json
|
||||||
c78d38ed11410f3749b0531faddb47bc864c602e assets/create/lang/unfinished/es_cl.json
|
5ff1e28fe23bf3dacce2210cb3ca67a6a4f38b31 assets/create/lang/unfinished/es_cl.json
|
||||||
3f324c1793d15fc4efee2496ded04ef40a149eef assets/create/lang/unfinished/es_es.json
|
803bb955aba9425dcf77d5137fe58318524aeb42 assets/create/lang/unfinished/es_es.json
|
||||||
a75c200cad527244a00e9c8d8044b99ebcb4f434 assets/create/lang/unfinished/fr_fr.json
|
3134fecc8a92c44a0643fb89110987c4a57868a1 assets/create/lang/unfinished/fr_fr.json
|
||||||
f8498450f21370fc25144fb02d7f3de644302eae assets/create/lang/unfinished/it_it.json
|
7078cfddbdf73f65c89f8634e7d5979842ca34bb assets/create/lang/unfinished/it_it.json
|
||||||
fb99ffda9c4f753478d69d4a7e672d2934e4eefe assets/create/lang/unfinished/ja_jp.json
|
4bb376849f661b658fd941a2407b0f78158cc0d4 assets/create/lang/unfinished/ja_jp.json
|
||||||
c5b3a59940d9d1f31bd333acb05e77a07833f8f7 assets/create/lang/unfinished/ko_kr.json
|
03db667e726d137a5daaa320b7d5801640173951 assets/create/lang/unfinished/ko_kr.json
|
||||||
1a8e15b473cc565d4a0ce6a077ebb21b04436caa assets/create/lang/unfinished/nl_nl.json
|
0d5a2352092fa0218ffd3e35500ae47dec2306bc assets/create/lang/unfinished/nl_nl.json
|
||||||
a4c4763232172a82d131bdcf9418e8944faa4767 assets/create/lang/unfinished/pl_pl.json
|
67e8e20aaa1cad67581c9b7f6cd1b505c589e08a assets/create/lang/unfinished/pl_pl.json
|
||||||
4293a80519e12fe25df446daf66a2c93abde0c29 assets/create/lang/unfinished/pt_br.json
|
7be5d96ae1d40b99f98594cd2140a111462514f9 assets/create/lang/unfinished/pt_br.json
|
||||||
40b6e4ba6fbdc90902288bbf0be9fd65a08d0bce assets/create/lang/unfinished/pt_pt.json
|
428afed80b16e6def974b4d31d6609a14477cdcf assets/create/lang/unfinished/pt_pt.json
|
||||||
e4a748bfbb60cb7b597921115ce69b45bbfb3d79 assets/create/lang/unfinished/ro_ro.json
|
39219ca58890611aef68ee5d713614c4a8eaaf8e assets/create/lang/unfinished/ro_ro.json
|
||||||
5539e89820b997b42e5605202e5c8ba508e80b77 assets/create/lang/unfinished/ru_ru.json
|
5de2edb9239c491fdcfe51ee45c8206f16b3d4d3 assets/create/lang/unfinished/ru_ru.json
|
||||||
b3f274b8dc40d041733ba10cab527c5130f68bcf assets/create/lang/unfinished/zh_cn.json
|
5db28a284f52b3b6d7f33bbba8542e3aeb49e0c3 assets/create/lang/unfinished/zh_cn.json
|
||||||
5309ae6bd90efd2cf5e8adb730c2d2f4818edf7d assets/create/lang/unfinished/zh_tw.json
|
9c1d56dec09913608536eecbfecc0276bedf658c assets/create/lang/unfinished/zh_tw.json
|
||||||
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
||||||
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
||||||
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.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
|
523cd531eadaadc45fb356ca58b99a8fe206c3a7 assets/create/models/item/cyan_valve_handle.json
|
||||||
f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets/create/models/item/dark_oak_window.json
|
f786a43e296d9f10d7c302fe3ae9cddf4ba9984e assets/create/models/item/dark_oak_window.json
|
||||||
515d55b1ce18543fdb44b194901040fd29e75818 assets/create/models/item/dark_oak_window_pane.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
|
422c5ab12029ffdf37b315a158168d71725bd334 assets/create/models/item/deepslate_pillar.json
|
||||||
0f220a538e6a083debf68b4f1135d5f3ae4a3918 assets/create/models/item/deepslate_zinc_ore.json
|
0f220a538e6a083debf68b4f1135d5f3ae4a3918 assets/create/models/item/deepslate_zinc_ore.json
|
||||||
2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets/create/models/item/deployer.json
|
2104c1276259ab67b94f3d4fe97e14b6bc6941ac assets/create/models/item/deployer.json
|
||||||
84d87f715efab45dc7bcb2e3c0870ed56fa20ee9 assets/create/models/item/depot.json
|
84d87f715efab45dc7bcb2e3c0870ed56fa20ee9 assets/create/models/item/depot.json
|
||||||
e0ecc0a20cf9dd54ccfc48e0041d5220b2c8316e assets/create/models/item/diorite_pillar.json
|
e0ecc0a20cf9dd54ccfc48e0041d5220b2c8316e assets/create/models/item/diorite_pillar.json
|
||||||
0ff9267a39783dce5e0aa59e78088c64337ad6ee assets/create/models/item/display_board.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
|
6006f88e56d74a3fd75a9dddb25af39075e0482b assets/create/models/item/diving_boots.json
|
||||||
df8cfe7e8eb527329094396e11222e9097e309d7 assets/create/models/item/diving_helmet.json
|
df8cfe7e8eb527329094396e11222e9097e309d7 assets/create/models/item/diving_helmet.json
|
||||||
4b2af721dccfcf4e5b5a7b0f64f295d7cfd27f69 assets/create/models/item/dough.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
|
8854c95ee0d78abfb0393f7b4185618dc9aecba3 data/create/loot_tables/blocks/cyan_valve_handle.json
|
||||||
0d17705688109e9cf81c99ef559b1183b0e6053c data/create/loot_tables/blocks/dark_oak_window.json
|
0d17705688109e9cf81c99ef559b1183b0e6053c data/create/loot_tables/blocks/dark_oak_window.json
|
||||||
636acaf2ebbbd790f8efe45a98cd036ffe848407 data/create/loot_tables/blocks/dark_oak_window_pane.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
|
18f29fec67600edc66b25217017b5b618efb1f4b data/create/loot_tables/blocks/deepslate_pillar.json
|
||||||
841d6010e87a4bf4e35e8ccc411e5d7f513b484a data/create/loot_tables/blocks/deepslate_zinc_ore.json
|
841d6010e87a4bf4e35e8ccc411e5d7f513b484a data/create/loot_tables/blocks/deepslate_zinc_ore.json
|
||||||
12a02b7737557a81281369826907b7e75076b8a0 data/create/loot_tables/blocks/deployer.json
|
12a02b7737557a81281369826907b7e75076b8a0 data/create/loot_tables/blocks/deployer.json
|
||||||
b6118279802f1a27e6e0c3d0feca86f0792f85df data/create/loot_tables/blocks/depot.json
|
b6118279802f1a27e6e0c3d0feca86f0792f85df data/create/loot_tables/blocks/depot.json
|
||||||
48eba3e521b190fedfb6e7580bdb10bcb3f290bd data/create/loot_tables/blocks/diorite_pillar.json
|
48eba3e521b190fedfb6e7580bdb10bcb3f290bd data/create/loot_tables/blocks/diorite_pillar.json
|
||||||
2a8d81a07e9d209349264787eee93a0b973d2510 data/create/loot_tables/blocks/display_board.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
|
7ab5f0aa32d6641999943636766c806a1d59e1d2 data/create/loot_tables/blocks/dripstone_pillar.json
|
||||||
2186860c4a0cb47a66bdfdefcde302c599cddeea data/create/loot_tables/blocks/encased_chain_drive.json
|
2186860c4a0cb47a66bdfdefcde302c599cddeea data/create/loot_tables/blocks/encased_chain_drive.json
|
||||||
7fcc15674a7583b965441fb079b8997e4244a4ff data/create/loot_tables/blocks/encased_fan.json
|
7fcc15674a7583b965441fb079b8997e4244a4ff data/create/loot_tables/blocks/encased_fan.json
|
||||||
|
|
|
@ -1,54 +1,54 @@
|
||||||
{
|
{
|
||||||
"variants": {
|
"variants": {
|
||||||
"facing=down,powered=false": {
|
"facing=down,powered=false": {
|
||||||
"model": "create:block/data_gatherer/block",
|
"model": "create:block/display_link/block",
|
||||||
"x": 180
|
"x": 180
|
||||||
},
|
},
|
||||||
"facing=up,powered=false": {
|
"facing=up,powered=false": {
|
||||||
"model": "create:block/data_gatherer/block"
|
"model": "create:block/display_link/block"
|
||||||
},
|
},
|
||||||
"facing=north,powered=false": {
|
"facing=north,powered=false": {
|
||||||
"model": "create:block/data_gatherer/block",
|
"model": "create:block/display_link/block",
|
||||||
"x": 90
|
"x": 90
|
||||||
},
|
},
|
||||||
"facing=south,powered=false": {
|
"facing=south,powered=false": {
|
||||||
"model": "create:block/data_gatherer/block",
|
"model": "create:block/display_link/block",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 180
|
"y": 180
|
||||||
},
|
},
|
||||||
"facing=west,powered=false": {
|
"facing=west,powered=false": {
|
||||||
"model": "create:block/data_gatherer/block",
|
"model": "create:block/display_link/block",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 270
|
"y": 270
|
||||||
},
|
},
|
||||||
"facing=east,powered=false": {
|
"facing=east,powered=false": {
|
||||||
"model": "create:block/data_gatherer/block",
|
"model": "create:block/display_link/block",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 90
|
"y": 90
|
||||||
},
|
},
|
||||||
"facing=down,powered=true": {
|
"facing=down,powered=true": {
|
||||||
"model": "create:block/data_gatherer/block_powered",
|
"model": "create:block/display_link/block_powered",
|
||||||
"x": 180
|
"x": 180
|
||||||
},
|
},
|
||||||
"facing=up,powered=true": {
|
"facing=up,powered=true": {
|
||||||
"model": "create:block/data_gatherer/block_powered"
|
"model": "create:block/display_link/block_powered"
|
||||||
},
|
},
|
||||||
"facing=north,powered=true": {
|
"facing=north,powered=true": {
|
||||||
"model": "create:block/data_gatherer/block_powered",
|
"model": "create:block/display_link/block_powered",
|
||||||
"x": 90
|
"x": 90
|
||||||
},
|
},
|
||||||
"facing=south,powered=true": {
|
"facing=south,powered=true": {
|
||||||
"model": "create:block/data_gatherer/block_powered",
|
"model": "create:block/display_link/block_powered",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 180
|
"y": 180
|
||||||
},
|
},
|
||||||
"facing=west,powered=true": {
|
"facing=west,powered=true": {
|
||||||
"model": "create:block/data_gatherer/block_powered",
|
"model": "create:block/display_link/block_powered",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 270
|
"y": 270
|
||||||
},
|
},
|
||||||
"facing=east,powered=true": {
|
"facing=east,powered=true": {
|
||||||
"model": "create:block/data_gatherer/block_powered",
|
"model": "create:block/display_link/block_powered",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 90
|
"y": 90
|
||||||
}
|
}
|
|
@ -189,13 +189,13 @@
|
||||||
"block.create.cyan_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B u\u0250\u028E\u0186",
|
"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": "\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.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_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.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.deployer": "\u0279\u01DD\u028Eo\u05DFd\u01DD\u15E1",
|
||||||
"block.create.depot": "\u0287od\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.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_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.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_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",
|
"block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E",
|
||||||
|
|
|
@ -192,13 +192,13 @@
|
||||||
"block.create.cyan_valve_handle": "Cyan Valve Handle",
|
"block.create.cyan_valve_handle": "Cyan Valve Handle",
|
||||||
"block.create.dark_oak_window": "Dark Oak Window",
|
"block.create.dark_oak_window": "Dark Oak Window",
|
||||||
"block.create.dark_oak_window_pane": "Dark Oak Window Pane",
|
"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_pillar": "Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Deployer",
|
"block.create.deployer": "Deployer",
|
||||||
"block.create.depot": "Depot",
|
"block.create.depot": "Depot",
|
||||||
"block.create.diorite_pillar": "Diorite Pillar",
|
"block.create.diorite_pillar": "Diorite Pillar",
|
||||||
"block.create.display_board": "Display Board",
|
"block.create.display_board": "Display Board",
|
||||||
|
"block.create.display_link": "Display Link",
|
||||||
"block.create.dripstone_pillar": "Dripstone Pillar",
|
"block.create.dripstone_pillar": "Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Encased Chain Drive",
|
"block.create.encased_chain_drive": "Encased Chain Drive",
|
||||||
"block.create.encased_fan": "Encased Fan",
|
"block.create.encased_fan": "Encased Fan",
|
||||||
|
@ -1466,64 +1466,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "Targeted position selected",
|
"create.display_link.set": "Targeted position selected",
|
||||||
"create.data_gatherer.success": "Successfully bound to targeted position",
|
"create.display_link.success": "Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "Cleared position selection",
|
"create.display_link.clear": "Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "Targeted position is too far from here",
|
"create.display_link.too_far": "Targeted position is too far from here",
|
||||||
"create.data_gatherer.invalid": "Gatherer has no valid target, try placing it again",
|
"create.display_link.invalid": "Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "Data Gatherer",
|
"create.display_link.title": "Display Link",
|
||||||
"create.data_gatherer.no_source": "Not a Data Source",
|
"create.display_link.no_source": "Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "Not a Data Target",
|
"create.display_link.no_target": "Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "Read from:",
|
"create.display_link.reading_from": "Read from:",
|
||||||
"create.data_gatherer.writing_to": "Send to:",
|
"create.display_link.writing_to": "Send to:",
|
||||||
"create.data_gatherer.attached_side": "Block on attached side",
|
"create.display_link.attached_side": "Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "Block in targeted location",
|
"create.display_link.targeted_location": "Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "Click to view all Compatible",
|
"create.display_link.view_compatible": "Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "Type of Information",
|
"create.display_link.information_type": "Type of Information",
|
||||||
"create.data_gatherer.display_on": "Write data to:",
|
"create.display_link.display_on": "Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "Start writing at:",
|
"create.display_link.display_on_multiline": "Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "Attached Label",
|
"create.display_source.label": "Attached Label",
|
||||||
"create.data_source.combine_item_names": "Combine Item Names",
|
"create.display_source.combine_item_names": "Combine Item Names",
|
||||||
"create.data_source.count_items": "Amount of matching Items",
|
"create.display_source.count_items": "Amount of matching Items",
|
||||||
"create.data_source.list_items": "List matching Items",
|
"create.display_source.list_items": "List matching Items",
|
||||||
"create.data_source.nixie_tube": "Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "Container Fill Level",
|
"create.display_source.fill_level": "Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "Display Format",
|
"create.display_source.fill_level.display": "Display Format",
|
||||||
"create.data_source.fill_level.percent": "Percent",
|
"create.display_source.fill_level.percent": "Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "Progress Bar",
|
"create.display_source.fill_level.progress_bar": "Progress Bar",
|
||||||
"create.data_source.value_list.display": "Value Display",
|
"create.display_source.value_list.display": "Value Display",
|
||||||
"create.data_source.value_list.shortened": "Shortened",
|
"create.display_source.value_list.shortened": "Shortened",
|
||||||
"create.data_source.value_list.full_number": "Full Number",
|
"create.display_source.value_list.full_number": "Full Number",
|
||||||
"create.data_source.value_list.thousand": "k",
|
"create.display_source.value_list.thousand": "k",
|
||||||
"create.data_source.value_list.million": "m",
|
"create.display_source.value_list.million": "m",
|
||||||
"create.data_source.player_deaths": "Player Deaths",
|
"create.display_source.player_deaths": "Player Deaths",
|
||||||
"create.data_source.scoreboard": "Scoreboard",
|
"create.display_source.scoreboard": "Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "Objective ID",
|
"create.display_source.scoreboard.objective": "Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "'%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "'%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "Player Deaths",
|
||||||
"create.data_source.time_of_day": "Time of Day",
|
"create.display_source.time_of_day": "Time of Day",
|
||||||
"create.data_source.stop_watch": "Stopwatch",
|
"create.display_source.stop_watch": "Stopwatch",
|
||||||
"create.data_source.time.format": "Time Format",
|
"create.display_source.time.format": "Time Format",
|
||||||
"create.data_source.time.12_hour": "12-hour",
|
"create.display_source.time.12_hour": "12-hour",
|
||||||
"create.data_source.time.24_hour": "24-hour",
|
"create.display_source.time.24_hour": "24-hour",
|
||||||
"create.data_source.accumulate_items": "Accumulate Item Count",
|
"create.display_source.accumulate_items": "Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "Item Throughput",
|
"create.display_source.item_throughput": "Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "Interval",
|
"create.display_source.item_throughput.interval": "Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "per Second",
|
"create.display_source.item_throughput.interval.second": "per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "per Minute",
|
"create.display_source.item_throughput.interval.minute": "per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "per Hour",
|
"create.display_source.item_throughput.interval.hour": "per Hour",
|
||||||
"create.data_source.station_summary": "Train Station Summary",
|
"create.display_source.station_summary": "Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "Station name filter",
|
"create.display_source.station_summary.filter": "Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "Train column size",
|
"create.display_source.station_summary.train_name_column": "Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "Platform column size",
|
"create.display_source.station_summary.platform_column": "Platform column size",
|
||||||
"create.data_source.station_summary.now": "now",
|
"create.display_source.station_summary.now": "now",
|
||||||
"create.data_source.station_summary.minutes": " min",
|
"create.display_source.station_summary.minutes": " min",
|
||||||
"create.data_source.station_summary.seconds": "%1$ss",
|
"create.display_source.station_summary.seconds": "%1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "Line %1$s",
|
"create.display_target.line": "Line %1$s",
|
||||||
"create.data_target.page": "Page %1$s",
|
"create.display_target.page": "Page %1$s",
|
||||||
"create.data_target.single_line": "Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Türkiser Ventilgriff",
|
"block.create.cyan_valve_handle": "Türkiser Ventilgriff",
|
||||||
"block.create.dark_oak_window": "Schwarzeichenholzfenster",
|
"block.create.dark_oak_window": "Schwarzeichenholzfenster",
|
||||||
"block.create.dark_oak_window_pane": "Schwarzeichenholzfensterscheibe",
|
"block.create.dark_oak_window_pane": "Schwarzeichenholzfensterscheibe",
|
||||||
"block.create.data_gatherer": "UNLOCALIZED: Data Gatherer",
|
|
||||||
"block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar",
|
"block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Einsatzgerät",
|
"block.create.deployer": "Einsatzgerät",
|
||||||
"block.create.depot": "Depot",
|
"block.create.depot": "Depot",
|
||||||
"block.create.diorite_pillar": "Dioritsäule",
|
"block.create.diorite_pillar": "Dioritsäule",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Ummantelter Kettenriemen",
|
"block.create.encased_chain_drive": "Ummantelter Kettenriemen",
|
||||||
"block.create.encased_fan": "Ummantelter Lüfter",
|
"block.create.encased_fan": "Ummantelter Lüfter",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Válvula Cian",
|
"block.create.cyan_valve_handle": "Válvula Cian",
|
||||||
"block.create.dark_oak_window": "Ventana de Roble Oscuro",
|
"block.create.dark_oak_window": "Ventana de Roble Oscuro",
|
||||||
"block.create.dark_oak_window_pane": "Panel de 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_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Desplegador",
|
"block.create.deployer": "Desplegador",
|
||||||
"block.create.depot": "Depósito",
|
"block.create.depot": "Depósito",
|
||||||
"block.create.diorite_pillar": "Pilar de Diorita",
|
"block.create.diorite_pillar": "Pilar de Diorita",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Conductor en Cadena Encubierto",
|
"block.create.encased_chain_drive": "Conductor en Cadena Encubierto",
|
||||||
"block.create.encased_fan": "Ventilador Encubierto",
|
"block.create.encased_fan": "Ventilador Encubierto",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Asa de válvula cian",
|
"block.create.cyan_valve_handle": "Asa de válvula cian",
|
||||||
"block.create.dark_oak_window": "Ventana de roble oscuro",
|
"block.create.dark_oak_window": "Ventana de roble oscuro",
|
||||||
"block.create.dark_oak_window_pane": "Panel de 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_pillar": "Pilar de pizarra profunda",
|
||||||
"block.create.deepslate_zinc_ore": "Mena de cinc de pizarra profunda",
|
"block.create.deepslate_zinc_ore": "Mena de cinc de pizarra profunda",
|
||||||
"block.create.deployer": "Desplegador",
|
"block.create.deployer": "Desplegador",
|
||||||
"block.create.depot": "Depósito",
|
"block.create.depot": "Depósito",
|
||||||
"block.create.diorite_pillar": "Pilar de diorita",
|
"block.create.diorite_pillar": "Pilar de diorita",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "Pilar de espeleotema",
|
"block.create.dripstone_pillar": "Pilar de espeleotema",
|
||||||
"block.create.encased_chain_drive": "Cadena de transmisión revestida",
|
"block.create.encased_chain_drive": "Cadena de transmisión revestida",
|
||||||
"block.create.encased_fan": "Ventilador revestido",
|
"block.create.encased_fan": "Ventilador revestido",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Vanne cyan",
|
"block.create.cyan_valve_handle": "Vanne cyan",
|
||||||
"block.create.dark_oak_window": "fenêtre en chêne sombre",
|
"block.create.dark_oak_window": "fenêtre en chêne sombre",
|
||||||
"block.create.dark_oak_window_pane": "Vitre 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_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Déployeur",
|
"block.create.deployer": "Déployeur",
|
||||||
"block.create.depot": "Dépot",
|
"block.create.depot": "Dépot",
|
||||||
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Chaine de transmission",
|
"block.create.encased_chain_drive": "Chaine de transmission",
|
||||||
"block.create.encased_fan": "Ventilateur enchâssé",
|
"block.create.encased_fan": "Ventilateur enchâssé",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Maniglia per valvola ciano",
|
"block.create.cyan_valve_handle": "Maniglia per valvola ciano",
|
||||||
"block.create.dark_oak_window": "Finestra di quercia scura",
|
"block.create.dark_oak_window": "Finestra di quercia scura",
|
||||||
"block.create.dark_oak_window_pane": "Pannello di 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_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Installatore",
|
"block.create.deployer": "Installatore",
|
||||||
"block.create.depot": "Deposito",
|
"block.create.depot": "Deposito",
|
||||||
"block.create.diorite_pillar": "Pilastro di diorite",
|
"block.create.diorite_pillar": "Pilastro di diorite",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Trasmissione a catena incassata",
|
"block.create.encased_chain_drive": "Trasmissione a catena incassata",
|
||||||
"block.create.encased_fan": "Ventilatore incassato",
|
"block.create.encased_fan": "Ventilatore incassato",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "水色のバルブハンドル",
|
"block.create.cyan_valve_handle": "水色のバルブハンドル",
|
||||||
"block.create.dark_oak_window": "ダークオークの窓",
|
"block.create.dark_oak_window": "ダークオークの窓",
|
||||||
"block.create.dark_oak_window_pane": "ダークオークの板窓",
|
"block.create.dark_oak_window_pane": "ダークオークの板窓",
|
||||||
"block.create.data_gatherer": "UNLOCALIZED: Data Gatherer",
|
|
||||||
"block.create.deepslate_pillar": "深層岩の柱",
|
"block.create.deepslate_pillar": "深層岩の柱",
|
||||||
"block.create.deepslate_zinc_ore": "深層亜鉛鉱石",
|
"block.create.deepslate_zinc_ore": "深層亜鉛鉱石",
|
||||||
"block.create.deployer": "デプロイヤー",
|
"block.create.deployer": "デプロイヤー",
|
||||||
"block.create.depot": "デポ",
|
"block.create.depot": "デポ",
|
||||||
"block.create.diorite_pillar": "閃緑岩の柱",
|
"block.create.diorite_pillar": "閃緑岩の柱",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "鍾乳石の柱",
|
"block.create.dripstone_pillar": "鍾乳石の柱",
|
||||||
"block.create.encased_chain_drive": "ケース入りチェーンドライブ",
|
"block.create.encased_chain_drive": "ケース入りチェーンドライブ",
|
||||||
"block.create.encased_fan": "ケース入りファン",
|
"block.create.encased_fan": "ケース入りファン",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "청록색 밸브 손잡이",
|
"block.create.cyan_valve_handle": "청록색 밸브 손잡이",
|
||||||
"block.create.dark_oak_window": "짙은 참나무 유리창",
|
"block.create.dark_oak_window": "짙은 참나무 유리창",
|
||||||
"block.create.dark_oak_window_pane": "짙은 참나무 유리판",
|
"block.create.dark_oak_window_pane": "짙은 참나무 유리판",
|
||||||
"block.create.data_gatherer": "UNLOCALIZED: Data Gatherer",
|
|
||||||
"block.create.deepslate_pillar": "심층암 기둥",
|
"block.create.deepslate_pillar": "심층암 기둥",
|
||||||
"block.create.deepslate_zinc_ore": "심층암 아연 광석",
|
"block.create.deepslate_zinc_ore": "심층암 아연 광석",
|
||||||
"block.create.deployer": "기계 손",
|
"block.create.deployer": "기계 손",
|
||||||
"block.create.depot": "아이템 거치대",
|
"block.create.depot": "아이템 거치대",
|
||||||
"block.create.diorite_pillar": "섬록암 기둥",
|
"block.create.diorite_pillar": "섬록암 기둥",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "점적석 기둥",
|
"block.create.dripstone_pillar": "점적석 기둥",
|
||||||
"block.create.encased_chain_drive": "체인 드라이브",
|
"block.create.encased_chain_drive": "체인 드라이브",
|
||||||
"block.create.encased_fan": "선풍기",
|
"block.create.encased_fan": "선풍기",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "UNLOCALIZED: Cyan Valve Handle",
|
"block.create.cyan_valve_handle": "UNLOCALIZED: Cyan Valve Handle",
|
||||||
"block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window",
|
"block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window",
|
||||||
"block.create.dark_oak_window_pane": "UNLOCALIZED: Dark Oak Window Pane",
|
"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_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "UNLOCALIZED: Deployer",
|
"block.create.deployer": "UNLOCALIZED: Deployer",
|
||||||
"block.create.depot": "UNLOCALIZED: Depot",
|
"block.create.depot": "UNLOCALIZED: Depot",
|
||||||
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "UNLOCALIZED: Encased Chain Drive",
|
"block.create.encased_chain_drive": "UNLOCALIZED: Encased Chain Drive",
|
||||||
"block.create.encased_fan": "Omhulsde Ventilator",
|
"block.create.encased_fan": "Omhulsde Ventilator",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Błękitne pokrętło",
|
"block.create.cyan_valve_handle": "Błękitne pokrętło",
|
||||||
"block.create.dark_oak_window": "Ciemnodębowe okno",
|
"block.create.dark_oak_window": "Ciemnodębowe okno",
|
||||||
"block.create.dark_oak_window_pane": "Ciemnodębowa szyba okienna",
|
"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_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Aplikator",
|
"block.create.deployer": "Aplikator",
|
||||||
"block.create.depot": "Składnica",
|
"block.create.depot": "Składnica",
|
||||||
"block.create.diorite_pillar": "Diorytowy filar",
|
"block.create.diorite_pillar": "Diorytowy filar",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Izolowany przekaźnik łańcuchowy",
|
"block.create.encased_chain_drive": "Izolowany przekaźnik łańcuchowy",
|
||||||
"block.create.encased_fan": "Izolowany wiatrak",
|
"block.create.encased_fan": "Izolowany wiatrak",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Válvula ciano",
|
"block.create.cyan_valve_handle": "Válvula ciano",
|
||||||
"block.create.dark_oak_window": "Janela de carvalho escuro",
|
"block.create.dark_oak_window": "Janela de carvalho escuro",
|
||||||
"block.create.dark_oak_window_pane": "Vidraça 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_pillar": "Pilar de ardósia",
|
||||||
"block.create.deepslate_zinc_ore": "Minério de zinco de ardósia",
|
"block.create.deepslate_zinc_ore": "Minério de zinco de ardósia",
|
||||||
"block.create.deployer": "Implantador",
|
"block.create.deployer": "Implantador",
|
||||||
"block.create.depot": "Depósito",
|
"block.create.depot": "Depósito",
|
||||||
"block.create.diorite_pillar": "Pilar de diorito",
|
"block.create.diorite_pillar": "Pilar de diorito",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "Pilar de espeleotema",
|
"block.create.dripstone_pillar": "Pilar de espeleotema",
|
||||||
"block.create.encased_chain_drive": "Correia Revestida",
|
"block.create.encased_chain_drive": "Correia Revestida",
|
||||||
"block.create.encased_fan": "Ventilador Revestida",
|
"block.create.encased_fan": "Ventilador Revestida",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Manopla de válvula ciano",
|
"block.create.cyan_valve_handle": "Manopla de válvula ciano",
|
||||||
"block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window",
|
"block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window",
|
||||||
"block.create.dark_oak_window_pane": "UNLOCALIZED: Dark Oak Window Pane",
|
"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_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "Deepslate zinc ore",
|
"block.create.deepslate_zinc_ore": "Deepslate zinc ore",
|
||||||
"block.create.deployer": "Implantador",
|
"block.create.deployer": "Implantador",
|
||||||
"block.create.depot": "Depósito",
|
"block.create.depot": "Depósito",
|
||||||
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Correia Revestida",
|
"block.create.encased_chain_drive": "Correia Revestida",
|
||||||
"block.create.encased_fan": "Ventilador Revestida",
|
"block.create.encased_fan": "Ventilador Revestida",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Mâner De Supapă Turcoaz",
|
"block.create.cyan_valve_handle": "Mâner De Supapă Turcoaz",
|
||||||
"block.create.dark_oak_window": "Sticlă De Stejar Negru",
|
"block.create.dark_oak_window": "Sticlă De Stejar Negru",
|
||||||
"block.create.dark_oak_window_pane": "Geam 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_pillar": "Coloană De Deepslate",
|
||||||
"block.create.deepslate_zinc_ore": "Minereu De Zinc De Adâncime",
|
"block.create.deepslate_zinc_ore": "Minereu De Zinc De Adâncime",
|
||||||
"block.create.deployer": "Deployer",
|
"block.create.deployer": "Deployer",
|
||||||
"block.create.depot": "Depot",
|
"block.create.depot": "Depot",
|
||||||
"block.create.diorite_pillar": "Coloană De Diorit",
|
"block.create.diorite_pillar": "Coloană De Diorit",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "Coloană De Dripstone",
|
"block.create.dripstone_pillar": "Coloană De Dripstone",
|
||||||
"block.create.encased_chain_drive": "Lanț De Distribuție Încapsulat",
|
"block.create.encased_chain_drive": "Lanț De Distribuție Încapsulat",
|
||||||
"block.create.encased_fan": "Ventilator Încapsulat",
|
"block.create.encased_fan": "Ventilator Încapsulat",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "Бирюзовый ручной вентиль",
|
"block.create.cyan_valve_handle": "Бирюзовый ручной вентиль",
|
||||||
"block.create.dark_oak_window": "Окно из тёмного дуба",
|
"block.create.dark_oak_window": "Окно из тёмного дуба",
|
||||||
"block.create.dark_oak_window_pane": "Панель из окна из тёмного дуб",
|
"block.create.dark_oak_window_pane": "Панель из окна из тёмного дуб",
|
||||||
"block.create.data_gatherer": "UNLOCALIZED: Data Gatherer",
|
|
||||||
"block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar",
|
"block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "Автономный активатор",
|
"block.create.deployer": "Автономный активатор",
|
||||||
"block.create.depot": "Депо",
|
"block.create.depot": "Депо",
|
||||||
"block.create.diorite_pillar": "Диоритовая колонна",
|
"block.create.diorite_pillar": "Диоритовая колонна",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "Цепной привод в корпусе",
|
"block.create.encased_chain_drive": "Цепной привод в корпусе",
|
||||||
"block.create.encased_fan": "Вентилятор в корпусе",
|
"block.create.encased_fan": "Вентилятор в корпусе",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "青色阀门手轮",
|
"block.create.cyan_valve_handle": "青色阀门手轮",
|
||||||
"block.create.dark_oak_window": "深色橡木窗户",
|
"block.create.dark_oak_window": "深色橡木窗户",
|
||||||
"block.create.dark_oak_window_pane": "深色橡木窗户板",
|
"block.create.dark_oak_window_pane": "深色橡木窗户板",
|
||||||
"block.create.data_gatherer": "UNLOCALIZED: Data Gatherer",
|
|
||||||
"block.create.deepslate_pillar": "深板岩柱",
|
"block.create.deepslate_pillar": "深板岩柱",
|
||||||
"block.create.deepslate_zinc_ore": "深层锌矿石",
|
"block.create.deepslate_zinc_ore": "深层锌矿石",
|
||||||
"block.create.deployer": "机械手",
|
"block.create.deployer": "机械手",
|
||||||
"block.create.depot": "置物台",
|
"block.create.depot": "置物台",
|
||||||
"block.create.diorite_pillar": "闪长岩柱",
|
"block.create.diorite_pillar": "闪长岩柱",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "滴水石柱",
|
"block.create.dripstone_pillar": "滴水石柱",
|
||||||
"block.create.encased_chain_drive": "链式传动箱",
|
"block.create.encased_chain_drive": "链式传动箱",
|
||||||
"block.create.encased_fan": "鼓风机",
|
"block.create.encased_fan": "鼓风机",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -193,13 +193,13 @@
|
||||||
"block.create.cyan_valve_handle": "藍綠色閥門開關",
|
"block.create.cyan_valve_handle": "藍綠色閥門開關",
|
||||||
"block.create.dark_oak_window": "黑橡木窗戶",
|
"block.create.dark_oak_window": "黑橡木窗戶",
|
||||||
"block.create.dark_oak_window_pane": "黑橡木窗戶片",
|
"block.create.dark_oak_window_pane": "黑橡木窗戶片",
|
||||||
"block.create.data_gatherer": "UNLOCALIZED: Data Gatherer",
|
|
||||||
"block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar",
|
"block.create.deepslate_pillar": "UNLOCALIZED: Deepslate Pillar",
|
||||||
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
"block.create.deepslate_zinc_ore": "UNLOCALIZED: Deepslate Zinc Ore",
|
||||||
"block.create.deployer": "機器手",
|
"block.create.deployer": "機器手",
|
||||||
"block.create.depot": "置物臺",
|
"block.create.depot": "置物臺",
|
||||||
"block.create.diorite_pillar": "豎紋閃長岩",
|
"block.create.diorite_pillar": "豎紋閃長岩",
|
||||||
"block.create.display_board": "UNLOCALIZED: Display Board",
|
"block.create.display_board": "UNLOCALIZED: Display Board",
|
||||||
|
"block.create.display_link": "UNLOCALIZED: Display Link",
|
||||||
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
"block.create.dripstone_pillar": "UNLOCALIZED: Dripstone Pillar",
|
||||||
"block.create.encased_chain_drive": "鏈式傳動箱",
|
"block.create.encased_chain_drive": "鏈式傳動箱",
|
||||||
"block.create.encased_fan": "鼓風機",
|
"block.create.encased_fan": "鼓風機",
|
||||||
|
@ -1467,64 +1467,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "UNLOCALIZED: Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "UNLOCALIZED: Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "UNLOCALIZED: Targeted position selected",
|
"create.display_link.set": "UNLOCALIZED: Targeted position selected",
|
||||||
"create.data_gatherer.success": "UNLOCALIZED: Successfully bound to targeted position",
|
"create.display_link.success": "UNLOCALIZED: Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "UNLOCALIZED: Cleared position selection",
|
"create.display_link.clear": "UNLOCALIZED: Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "UNLOCALIZED: Targeted position is too far from here",
|
"create.display_link.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.display_link.invalid": "UNLOCALIZED: Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "UNLOCALIZED: Data Gatherer",
|
"create.display_link.title": "UNLOCALIZED: Display Link",
|
||||||
"create.data_gatherer.no_source": "UNLOCALIZED: Not a Data Source",
|
"create.display_link.no_source": "UNLOCALIZED: Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "UNLOCALIZED: Not a Data Target",
|
"create.display_link.no_target": "UNLOCALIZED: Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "UNLOCALIZED: Read from:",
|
"create.display_link.reading_from": "UNLOCALIZED: Read from:",
|
||||||
"create.data_gatherer.writing_to": "UNLOCALIZED: Send to:",
|
"create.display_link.writing_to": "UNLOCALIZED: Send to:",
|
||||||
"create.data_gatherer.attached_side": "UNLOCALIZED: Block on attached side",
|
"create.display_link.attached_side": "UNLOCALIZED: Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "UNLOCALIZED: Block in targeted location",
|
"create.display_link.targeted_location": "UNLOCALIZED: Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
"create.display_link.view_compatible": "UNLOCALIZED: Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "UNLOCALIZED: Type of Information",
|
"create.display_link.information_type": "UNLOCALIZED: Type of Information",
|
||||||
"create.data_gatherer.display_on": "UNLOCALIZED: Write data to:",
|
"create.display_link.display_on": "UNLOCALIZED: Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
"create.display_link.display_on_multiline": "UNLOCALIZED: Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "UNLOCALIZED: Attached Label",
|
"create.display_source.label": "UNLOCALIZED: Attached Label",
|
||||||
"create.data_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
"create.display_source.combine_item_names": "UNLOCALIZED: Combine Item Names",
|
||||||
"create.data_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
"create.display_source.count_items": "UNLOCALIZED: Amount of matching Items",
|
||||||
"create.data_source.list_items": "UNLOCALIZED: List matching Items",
|
"create.display_source.list_items": "UNLOCALIZED: List matching Items",
|
||||||
"create.data_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "UNLOCALIZED: Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
"create.display_source.fill_level": "UNLOCALIZED: Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "UNLOCALIZED: Display Format",
|
"create.display_source.fill_level.display": "UNLOCALIZED: Display Format",
|
||||||
"create.data_source.fill_level.percent": "UNLOCALIZED: Percent",
|
"create.display_source.fill_level.percent": "UNLOCALIZED: Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
"create.display_source.fill_level.progress_bar": "UNLOCALIZED: Progress Bar",
|
||||||
"create.data_source.value_list.display": "UNLOCALIZED: Value Display",
|
"create.display_source.value_list.display": "UNLOCALIZED: Value Display",
|
||||||
"create.data_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
"create.display_source.value_list.shortened": "UNLOCALIZED: Shortened",
|
||||||
"create.data_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
"create.display_source.value_list.full_number": "UNLOCALIZED: Full Number",
|
||||||
"create.data_source.value_list.thousand": "UNLOCALIZED: k",
|
"create.display_source.value_list.thousand": "UNLOCALIZED: k",
|
||||||
"create.data_source.value_list.million": "UNLOCALIZED: m",
|
"create.display_source.value_list.million": "UNLOCALIZED: m",
|
||||||
"create.data_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.player_deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
"create.display_source.scoreboard": "UNLOCALIZED: Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
"create.display_source.scoreboard.objective": "UNLOCALIZED: Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "UNLOCALIZED: '%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "UNLOCALIZED: Player Deaths",
|
||||||
"create.data_source.time_of_day": "UNLOCALIZED: Time of Day",
|
"create.display_source.time_of_day": "UNLOCALIZED: Time of Day",
|
||||||
"create.data_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
"create.display_source.stop_watch": "UNLOCALIZED: Stopwatch",
|
||||||
"create.data_source.time.format": "UNLOCALIZED: Time Format",
|
"create.display_source.time.format": "UNLOCALIZED: Time Format",
|
||||||
"create.data_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
"create.display_source.time.12_hour": "UNLOCALIZED: 12-hour",
|
||||||
"create.data_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
"create.display_source.time.24_hour": "UNLOCALIZED: 24-hour",
|
||||||
"create.data_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
"create.display_source.accumulate_items": "UNLOCALIZED: Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
"create.display_source.item_throughput": "UNLOCALIZED: Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
"create.display_source.item_throughput.interval": "UNLOCALIZED: Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
"create.display_source.item_throughput.interval.second": "UNLOCALIZED: per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
"create.display_source.item_throughput.interval.minute": "UNLOCALIZED: per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
"create.display_source.item_throughput.interval.hour": "UNLOCALIZED: per Hour",
|
||||||
"create.data_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
"create.display_source.station_summary": "UNLOCALIZED: Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
"create.display_source.station_summary.filter": "UNLOCALIZED: Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
"create.display_source.station_summary.train_name_column": "UNLOCALIZED: Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
"create.display_source.station_summary.platform_column": "UNLOCALIZED: Platform column size",
|
||||||
"create.data_source.station_summary.now": "UNLOCALIZED: now",
|
"create.display_source.station_summary.now": "UNLOCALIZED: now",
|
||||||
"create.data_source.station_summary.minutes": "UNLOCALIZED: min",
|
"create.display_source.station_summary.minutes": "UNLOCALIZED: min",
|
||||||
"create.data_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
"create.display_source.station_summary.seconds": "UNLOCALIZED: %1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "UNLOCALIZED: Line %1$s",
|
"create.display_target.line": "UNLOCALIZED: Line %1$s",
|
||||||
"create.data_target.page": "UNLOCALIZED: Page %1$s",
|
"create.display_target.page": "UNLOCALIZED: Page %1$s",
|
||||||
"create.data_target.single_line": "UNLOCALIZED: Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": "UNLOCALIZED: ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "create:block/data_gatherer/block"
|
|
||||||
}
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "create:block/display_link/block"
|
||||||
|
}
|
|
@ -7,7 +7,7 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "create:data_gatherer"
|
"name": "create:display_link"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"conditions": [
|
"conditions": [
|
|
@ -126,7 +126,7 @@ public class AllBlockPartials {
|
||||||
BOILER_GAUGE_DIAL = block("steam_engine/gauge_dial"),
|
BOILER_GAUGE_DIAL = block("steam_engine/gauge_dial"),
|
||||||
|
|
||||||
SIGNAL_ON = block("track_signal/indicator_on"), SIGNAL_OFF = block("track_signal/indicator_off"),
|
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_ON = block("track_station/flag_on"), STATION_OFF = block("track_station/flag_off"),
|
||||||
STATION_ASSEMBLE = block("track_station/flag_assemble"),
|
STATION_ASSEMBLE = block("track_station/flag_assemble"),
|
||||||
|
|
|
@ -7,7 +7,7 @@ import static com.simibubi.create.AllTags.axeOrPickaxe;
|
||||||
import static com.simibubi.create.AllTags.pickaxeOnly;
|
import static com.simibubi.create.AllTags.pickaxeOnly;
|
||||||
import static com.simibubi.create.AllTags.tagBlockAndItem;
|
import static com.simibubi.create.AllTags.tagBlockAndItem;
|
||||||
import static com.simibubi.create.content.AllSections.SCHEMATICS;
|
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.BlockStateGen.axisBlock;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
import static com.simibubi.create.foundation.data.ModelGen.customItemModel;
|
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.ChuteGenerator;
|
||||||
import com.simibubi.create.content.logistics.block.chute.ChuteItem;
|
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.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.DepotBlock;
|
||||||
import com.simibubi.create.content.logistics.block.depot.EjectorBlock;
|
import com.simibubi.create.content.logistics.block.depot.EjectorBlock;
|
||||||
import com.simibubi.create.content.logistics.block.depot.EjectorItem;
|
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.PoweredLatchGenerator;
|
||||||
import com.simibubi.create.content.logistics.block.diodes.ToggleLatchBlock;
|
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.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.AndesiteFunnelBlock;
|
||||||
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock;
|
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock;
|
||||||
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelGenerator;
|
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelGenerator;
|
||||||
|
@ -443,7 +443,7 @@ public class AllBlocks {
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.blockstate(new BeltGenerator()::generate)
|
.blockstate(new BeltGenerator()::generate)
|
||||||
.transform(BlockStressDefaults.setImpact(0))
|
.transform(BlockStressDefaults.setImpact(0))
|
||||||
.onRegister(assignDataBehaviour(new ItemNameDataSource(), "combine_item_names"))
|
.onRegister(assignDataBehaviour(new ItemNameDisplaySource(), "combine_item_names"))
|
||||||
.onRegister(CreateRegistrate.blockModel(() -> BeltModel::new))
|
.onRegister(CreateRegistrate.blockModel(() -> BeltModel::new))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
@ -512,8 +512,8 @@ public class AllBlocks {
|
||||||
REGISTRATE.block("cuckoo_clock", CuckooClockBlock::regular)
|
REGISTRATE.block("cuckoo_clock", CuckooClockBlock::regular)
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.transform(BuilderTransformers.cuckooClock())
|
.transform(BuilderTransformers.cuckooClock())
|
||||||
.onRegister(assignDataBehaviour(new TimeOfDayDataSource(), "time_of_day"))
|
.onRegister(assignDataBehaviour(new TimeOfDayDisplaySource(), "time_of_day"))
|
||||||
.onRegister(assignDataBehaviour(new StopWatchDataSource(), "stop_watch"))
|
.onRegister(assignDataBehaviour(new StopWatchDisplaySource(), "stop_watch"))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<CuckooClockBlock> MYSTERIOUS_CUCKOO_CLOCK =
|
public static final BlockEntry<CuckooClockBlock> MYSTERIOUS_CUCKOO_CLOCK =
|
||||||
|
@ -627,7 +627,7 @@ public class AllBlocks {
|
||||||
.initialProperties(SharedProperties::stone)
|
.initialProperties(SharedProperties::stone)
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.blockstate((c, p) -> p.simpleBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p)))
|
.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()
|
.item()
|
||||||
.transform(customItemModel("_", "block"))
|
.transform(customItemModel("_", "block"))
|
||||||
.register();
|
.register();
|
||||||
|
@ -639,7 +639,7 @@ public class AllBlocks {
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.blockstate((c, p) -> p.horizontalBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p), 180))
|
.blockstate((c, p) -> p.horizontalBlock(c.getEntry(), AssetLookup.partialBaseModel(c, p), 180))
|
||||||
.transform(BlockStressDefaults.setImpact(2.0))
|
.transform(BlockStressDefaults.setImpact(2.0))
|
||||||
.onRegister(assignDataBehaviour(new ItemNameDataSource(), "combine_item_names"))
|
.onRegister(assignDataBehaviour(new ItemNameDisplaySource(), "combine_item_names"))
|
||||||
.item(EjectorItem::new)
|
.item(EjectorItem::new)
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
.register();
|
.register();
|
||||||
|
@ -1360,7 +1360,7 @@ public class AllBlocks {
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.blockstate((c, p) -> p.simpleBlock(c.get(), AssetLookup.partialBaseModel(c, p)))
|
.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")
|
.lang("Train Station")
|
||||||
.item(TrackTargetingBlockItem::new)
|
.item(TrackTargetingBlockItem::new)
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
|
@ -1463,13 +1463,13 @@ public class AllBlocks {
|
||||||
public static final BlockEntry<BeltTunnelBlock> ANDESITE_TUNNEL =
|
public static final BlockEntry<BeltTunnelBlock> ANDESITE_TUNNEL =
|
||||||
REGISTRATE.block("andesite_tunnel", BeltTunnelBlock::new)
|
REGISTRATE.block("andesite_tunnel", BeltTunnelBlock::new)
|
||||||
.transform(BuilderTransformers.beltTunnel("andesite", new ResourceLocation("block/polished_andesite")))
|
.transform(BuilderTransformers.beltTunnel("andesite", new ResourceLocation("block/polished_andesite")))
|
||||||
.onRegister(assignDataBehaviour(new AccumulatedItemCountDataSource(), "accumulate_items"))
|
.onRegister(assignDataBehaviour(new AccumulatedItemCountDisplaySource(), "accumulate_items"))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<BrassTunnelBlock> BRASS_TUNNEL =
|
public static final BlockEntry<BrassTunnelBlock> BRASS_TUNNEL =
|
||||||
REGISTRATE.block("brass_tunnel", BrassTunnelBlock::new)
|
REGISTRATE.block("brass_tunnel", BrassTunnelBlock::new)
|
||||||
.transform(BuilderTransformers.beltTunnel("brass", Create.asResource("block/brass_block")))
|
.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))
|
.onRegister(connectedTextures(BrassTunnelCTBehaviour::new))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
@ -1478,8 +1478,8 @@ public class AllBlocks {
|
||||||
.initialProperties(SharedProperties::stone)
|
.initialProperties(SharedProperties::stone)
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.forPowered(c, p)))
|
.blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.forPowered(c, p)))
|
||||||
.onRegister(assignDataBehaviour(new ItemCountDataSource(), "count_items"))
|
.onRegister(assignDataBehaviour(new ItemCountDisplaySource(), "count_items"))
|
||||||
.onRegister(assignDataBehaviour(new ItemListDataSource(), "list_items"))
|
.onRegister(assignDataBehaviour(new ItemListDisplaySource(), "list_items"))
|
||||||
.item()
|
.item()
|
||||||
.transform(customItemModel("_", "block"))
|
.transform(customItemModel("_", "block"))
|
||||||
.register();
|
.register();
|
||||||
|
@ -1490,7 +1490,7 @@ public class AllBlocks {
|
||||||
.transform(axeOrPickaxe())
|
.transform(axeOrPickaxe())
|
||||||
.blockstate((c, p) -> p.horizontalBlock(c.get(),
|
.blockstate((c, p) -> p.horizontalBlock(c.get(),
|
||||||
AssetLookup.withIndicator(c, p, $ -> AssetLookup.standardModel(c, p), StockpileSwitchBlock.INDICATOR)))
|
AssetLookup.withIndicator(c, p, $ -> AssetLookup.standardModel(c, p), StockpileSwitchBlock.INDICATOR)))
|
||||||
.onRegister(assignDataBehaviour(new FillLevelDataSource(), "fill_level"))
|
.onRegister(assignDataBehaviour(new FillLevelDisplaySource(), "fill_level"))
|
||||||
.simpleItem()
|
.simpleItem()
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
@ -1500,23 +1500,23 @@ public class AllBlocks {
|
||||||
.tag(AllBlockTags.SAFE_NBT.tag)
|
.tag(AllBlockTags.SAFE_NBT.tag)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<DataGathererBlock> DATA_GATHERER =
|
public static final BlockEntry<DisplayLinkBlock> DISPLAY_LINK =
|
||||||
REGISTRATE.block("data_gatherer", DataGathererBlock::new)
|
REGISTRATE.block("display_link", DisplayLinkBlock::new)
|
||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.addLayer(() -> RenderType::translucent)
|
.addLayer(() -> RenderType::translucent)
|
||||||
.blockstate((c, p) -> p.directionalBlock(c.get(), AssetLookup.forPowered(c, p)))
|
.blockstate((c, p) -> p.directionalBlock(c.get(), AssetLookup.forPowered(c, p)))
|
||||||
.item(DataGathererBlockItem::new)
|
.item(DisplayLinkBlockItem::new)
|
||||||
.transform(customItemModel("_", "block"))
|
.transform(customItemModel("_", "block"))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<FlapDisplayBlock> FLAP_DISPLAY =
|
public static final BlockEntry<FlapDisplayBlock> DISPLAY_BOARD =
|
||||||
REGISTRATE.block("display_board", FlapDisplayBlock::new)
|
REGISTRATE.block("display_board", FlapDisplayBlock::new)
|
||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.transform(BlockStressDefaults.setImpact(0))
|
.transform(BlockStressDefaults.setImpact(0))
|
||||||
.blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.partialBaseModel(c, p)))
|
.blockstate((c, p) -> p.horizontalBlock(c.get(), AssetLookup.partialBaseModel(c, p)))
|
||||||
.onRegister(assignDataBehaviour(new FlapDisplayDataTarget()))
|
.onRegister(assignDataBehaviour(new DisplayBoardTarget()))
|
||||||
.lang("Display Board")
|
.lang("Display Board")
|
||||||
.item()
|
.item()
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.simibubi.create;
|
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.CutoutRotatingInstance;
|
||||||
import com.simibubi.create.content.contraptions.base.HalfShaftInstance;
|
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.ChuteTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.chute.SmartChuteRenderer;
|
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.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.DepotRenderer;
|
||||||
import com.simibubi.create.content.logistics.block.depot.DepotTileEntity;
|
import com.simibubi.create.content.logistics.block.depot.DepotTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.depot.EjectorInstance;
|
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.BrassDiodeRenderer;
|
||||||
import com.simibubi.create.content.logistics.block.diodes.PulseExtenderTileEntity;
|
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.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.FunnelInstance;
|
||||||
import com.simibubi.create.content.logistics.block.funnel.FunnelRenderer;
|
import com.simibubi.create.content.logistics.block.funnel.FunnelRenderer;
|
||||||
import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity;
|
import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity;
|
||||||
|
@ -665,14 +665,14 @@ public class AllTileEntities {
|
||||||
.validBlocks(AllBlocks.ORANGE_NIXIE_TUBE)
|
.validBlocks(AllBlocks.ORANGE_NIXIE_TUBE)
|
||||||
.validBlocks(AllBlocks.NIXIE_TUBES.toArray())
|
.validBlocks(AllBlocks.NIXIE_TUBES.toArray())
|
||||||
.renderer(() -> NixieTubeRenderer::new)
|
.renderer(() -> NixieTubeRenderer::new)
|
||||||
.onRegister(assignDataBehaviourTE(new NixieTubeDataTarget()))
|
.onRegister(assignDataBehaviourTE(new NixieTubeDisplayTarget()))
|
||||||
.onRegister(assignDataBehaviourTE(new NixieTubeDataSource()))
|
.onRegister(assignDataBehaviourTE(new NixieTubeDisplaySource()))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<DataGathererTileEntity> DATA_GATHERER = Create.registrate()
|
public static final BlockEntityEntry<DisplayLinkTileEntity> DISPLAY_LINK = Create.registrate()
|
||||||
.tileEntity("data_gatherer", DataGathererTileEntity::new)
|
.tileEntity("display_link", DisplayLinkTileEntity::new)
|
||||||
.validBlocks(AllBlocks.DATA_GATHERER)
|
.validBlocks(AllBlocks.DISPLAY_LINK)
|
||||||
.renderer(() -> DataGathererRenderer::new)
|
.renderer(() -> DisplayLinkRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<StockpileSwitchTileEntity> STOCKPILE_SWITCH = Create.registrate()
|
public static final BlockEntityEntry<StockpileSwitchTileEntity> STOCKPILE_SWITCH = Create.registrate()
|
||||||
|
@ -784,7 +784,7 @@ public class AllTileEntities {
|
||||||
.tileEntity("flap_display", FlapDisplayTileEntity::new)
|
.tileEntity("flap_display", FlapDisplayTileEntity::new)
|
||||||
.instance(() -> MechanicalCrafterInstance::new)
|
.instance(() -> MechanicalCrafterInstance::new)
|
||||||
.renderer(() -> FlapDisplayRenderer::new)
|
.renderer(() -> FlapDisplayRenderer::new)
|
||||||
.validBlocks(AllBlocks.FLAP_DISPLAY)
|
.validBlocks(AllBlocks.DISPLAY_BOARD)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntityEntry<SignalTileEntity> TRACK_SIGNAL = Create.registrate()
|
public static final BlockEntityEntry<SignalTileEntity> TRACK_SIGNAL = Create.registrate()
|
||||||
|
|
|
@ -12,7 +12,7 @@ import com.simibubi.create.content.CreateItemGroup;
|
||||||
import com.simibubi.create.content.contraptions.TorquePropagator;
|
import com.simibubi.create.content.contraptions.TorquePropagator;
|
||||||
import com.simibubi.create.content.curiosities.weapons.BuiltinPotatoProjectileTypes;
|
import com.simibubi.create.content.curiosities.weapons.BuiltinPotatoProjectileTypes;
|
||||||
import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler;
|
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.logistics.trains.GlobalRailwayManager;
|
||||||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||||
import com.simibubi.create.content.palettes.PalettesItemGroup;
|
import com.simibubi.create.content.palettes.PalettesItemGroup;
|
||||||
|
@ -96,7 +96,7 @@ public class Create {
|
||||||
AllEntityTypes.register();
|
AllEntityTypes.register();
|
||||||
AllTileEntities.register();
|
AllTileEntities.register();
|
||||||
AllMovementBehaviours.register();
|
AllMovementBehaviours.register();
|
||||||
AllDataGathererBehaviours.register();
|
AllDisplayBehaviours.register();
|
||||||
AllInteractionBehaviours.register();
|
AllInteractionBehaviours.register();
|
||||||
AllWorldFeatures.register();
|
AllWorldFeatures.register();
|
||||||
AllEnchantments.register();
|
AllEnchantments.register();
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class ControlsRenderer {
|
||||||
.rotateY(hAngle)
|
.rotateY(hAngle)
|
||||||
.unCentre()
|
.unCentre()
|
||||||
.light(matrices.getWorld(), ContraptionRenderDispatcher.getContraptionWorldLight(context, renderWorld))
|
.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);
|
double yOffset = Mth.lerp(equipAnimation * equipAnimation, -0.15f, 0.05f);
|
||||||
|
|
||||||
|
|
|
@ -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.BeltTunnelTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelBlock;
|
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.belts.tunnel.BrassTunnelTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererBlock;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock;
|
||||||
import com.simibubi.create.content.logistics.block.data.source.AccumulatedItemCountDataSource;
|
import com.simibubi.create.content.logistics.block.display.source.AccumulatedItemCountDisplaySource;
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour;
|
import com.simibubi.create.foundation.tileEntity.behaviour.belt.DirectBeltInputBehaviour;
|
||||||
import com.simibubi.create.foundation.utility.Iterate;
|
import com.simibubi.create.foundation.utility.Iterate;
|
||||||
|
@ -104,8 +104,8 @@ public class BeltTunnelInteractionHandler {
|
||||||
flapTunnel(beltInventory, upcomingSegment, movementFacing.getOpposite(), true);
|
flapTunnel(beltInventory, upcomingSegment, movementFacing.getOpposite(), true);
|
||||||
|
|
||||||
if (nextTunnel != null)
|
if (nextTunnel != null)
|
||||||
DataGathererBlock.sendToGatherers(world, nextTunnel.getBlockPos(),
|
DisplayLinkBlock.sendToGatherers(world, nextTunnel.getBlockPos(),
|
||||||
(dgte, b) -> b.itemReceived(dgte, transferred), AccumulatedItemCountDataSource.class);
|
(dgte, b) -> b.itemReceived(dgte, transferred), AccumulatedItemCountDisplaySource.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (removed)
|
if (removed)
|
||||||
|
|
|
@ -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<ResourceLocation, DataGathererBehaviour>
|
|
||||||
|
|
||||||
GATHERER_BEHAVIOURS = new HashMap<>();
|
|
||||||
|
|
||||||
public static final HashMap<ResourceLocation, List<DataGathererSource>>
|
|
||||||
|
|
||||||
SOURCES_BY_BLOCK = new HashMap<>(), SOURCES_BY_TILE = new HashMap<>();
|
|
||||||
|
|
||||||
public static final HashMap<ResourceLocation, DataGathererTarget>
|
|
||||||
|
|
||||||
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 <B extends Block> NonNullConsumer<? super B> 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 <B extends BlockEntityType<?>> NonNullConsumer<? super B> 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<DataGathererSource> sourcesOf(LevelAccessor level, BlockPos pos) {
|
|
||||||
BlockState blockState = level.getBlockState(pos);
|
|
||||||
BlockEntity blockEntity = level.getBlockEntity(pos);
|
|
||||||
|
|
||||||
List<DataGathererSource> sourcesOfBlock = sourcesOf(blockState);
|
|
||||||
List<DataGathererSource> 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<DataGathererSource> sourcesOf(BlockState state) {
|
|
||||||
return sourcesOf(state.getBlock());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<DataGathererSource> sourcesOf(BlockEntity tileEntity) {
|
|
||||||
return SOURCES_BY_TILE.getOrDefault(tileEntity.getType()
|
|
||||||
.getRegistryName(), Collections.emptyList());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<DataGathererSource> 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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
package com.simibubi.create.content.logistics.block.data;
|
|
||||||
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
|
|
||||||
public abstract class DataGathererBehaviour {
|
|
||||||
|
|
||||||
public ResourceLocation id;
|
|
||||||
|
|
||||||
}
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
package com.simibubi.create.content.logistics.block.data.target;
|
|
||||||
|
|
||||||
public record DataTargetStats(int maxRows, int maxColumns, DataGathererTarget type) {
|
|
||||||
|
|
||||||
}
|
|
|
@ -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<MutableComponent> 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);
|
|
||||||
|
|
||||||
}
|
|
|
@ -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<ResourceLocation, DisplayBehaviour>
|
||||||
|
|
||||||
|
GATHERER_BEHAVIOURS = new HashMap<>();
|
||||||
|
|
||||||
|
public static final HashMap<ResourceLocation, List<DisplaySource>>
|
||||||
|
|
||||||
|
SOURCES_BY_BLOCK = new HashMap<>(), SOURCES_BY_TILE = new HashMap<>();
|
||||||
|
|
||||||
|
public static final HashMap<ResourceLocation, DisplayTarget>
|
||||||
|
|
||||||
|
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 <B extends Block> NonNullConsumer<? super B> 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 <B extends BlockEntityType<?>> NonNullConsumer<? super B> 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<DisplaySource> sourcesOf(LevelAccessor level, BlockPos pos) {
|
||||||
|
BlockState blockState = level.getBlockState(pos);
|
||||||
|
BlockEntity blockEntity = level.getBlockEntity(pos);
|
||||||
|
|
||||||
|
List<DisplaySource> sourcesOfBlock = sourcesOf(blockState);
|
||||||
|
List<DisplaySource> 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<DisplaySource> sourcesOf(BlockState state) {
|
||||||
|
return sourcesOf(state.getBlock());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<DisplaySource> sourcesOf(BlockEntity tileEntity) {
|
||||||
|
return SOURCES_BY_TILE.getOrDefault(tileEntity.getType()
|
||||||
|
.getRegistryName(), Collections.emptyList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<DisplaySource> 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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
package com.simibubi.create.content.logistics.block.display;
|
||||||
|
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
|
||||||
|
public abstract class DisplayBehaviour {
|
||||||
|
|
||||||
|
public ResourceLocation id;
|
||||||
|
|
||||||
|
}
|
|
@ -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.BiConsumer;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
@ -6,7 +6,7 @@ import java.util.function.Consumer;
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllShapes;
|
import com.simibubi.create.AllShapes;
|
||||||
import com.simibubi.create.AllTileEntities;
|
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.ITE;
|
||||||
import com.simibubi.create.foundation.block.WrenchableDirectionalBlock;
|
import com.simibubi.create.foundation.block.WrenchableDirectionalBlock;
|
||||||
import com.simibubi.create.foundation.gui.ScreenOpener;
|
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.api.distmarker.OnlyIn;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
|
|
||||||
public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE<DataGathererTileEntity> {
|
public class DisplayLinkBlock extends WrenchableDirectionalBlock implements ITE<DisplayLinkTileEntity> {
|
||||||
|
|
||||||
public static final BooleanProperty POWERED = BlockStateProperties.POWERED;
|
public static final BooleanProperty POWERED = BlockStateProperties.POWERED;
|
||||||
|
|
||||||
public DataGathererBlock(Properties p_i48415_1_) {
|
public DisplayLinkBlock(Properties p_i48415_1_) {
|
||||||
super(p_i48415_1_);
|
super(p_i48415_1_);
|
||||||
registerDefaultState(defaultBlockState().setValue(POWERED, false));
|
registerDefaultState(defaultBlockState().setValue(POWERED, false));
|
||||||
}
|
}
|
||||||
|
@ -55,12 +55,12 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void notifyGatherers(LevelAccessor level, BlockPos pos) {
|
public static void notifyGatherers(LevelAccessor level, BlockPos pos) {
|
||||||
forEachAttachedGatherer(level, pos, DataGathererTileEntity::updateGatheredData);
|
forEachAttachedGatherer(level, pos, DisplayLinkTileEntity::updateGatheredData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static <T extends DataGathererSource> void sendToGatherers(LevelAccessor level, BlockPos pos,
|
public static <T extends DisplaySource> void sendToGatherers(LevelAccessor level, BlockPos pos,
|
||||||
BiConsumer<DataGathererTileEntity, T> callback, Class<T> type) {
|
BiConsumer<DisplayLinkTileEntity, T> callback, Class<T> type) {
|
||||||
forEachAttachedGatherer(level, pos, dgte -> {
|
forEachAttachedGatherer(level, pos, dgte -> {
|
||||||
if (type.isInstance(dgte.activeSource))
|
if (type.isInstance(dgte.activeSource))
|
||||||
callback.accept(dgte, (T) 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,
|
private static void forEachAttachedGatherer(LevelAccessor level, BlockPos pos,
|
||||||
Consumer<DataGathererTileEntity> callback) {
|
Consumer<DisplayLinkTileEntity> callback) {
|
||||||
for (Direction d : Iterate.directions) {
|
for (Direction d : Iterate.directions) {
|
||||||
BlockPos offsetPos = pos.relative(d);
|
BlockPos offsetPos = pos.relative(d);
|
||||||
BlockState blockState = level.getBlockState(offsetPos);
|
BlockState blockState = level.getBlockState(offsetPos);
|
||||||
if (!AllBlocks.DATA_GATHERER.has(blockState))
|
if (!AllBlocks.DISPLAY_LINK.has(blockState))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
BlockEntity blockEntity = level.getBlockEntity(offsetPos);
|
BlockEntity blockEntity = level.getBlockEntity(offsetPos);
|
||||||
if (!(blockEntity instanceof DataGathererTileEntity dgte))
|
if (!(blockEntity instanceof DisplayLinkTileEntity dgte))
|
||||||
continue;
|
continue;
|
||||||
if (dgte.activeSource == null)
|
if (dgte.activeSource == null)
|
||||||
continue;
|
continue;
|
||||||
|
@ -97,7 +97,7 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE
|
||||||
if (previouslyPowered != powered) {
|
if (previouslyPowered != powered) {
|
||||||
worldIn.setBlock(pos, state.cycle(POWERED), 2);
|
worldIn.setBlock(pos, state.cycle(POWERED), 2);
|
||||||
if (!powered)
|
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)
|
@OnlyIn(value = Dist.CLIENT)
|
||||||
protected void displayScreen(DataGathererTileEntity te, Player player) {
|
protected void displayScreen(DisplayLinkTileEntity te, Player player) {
|
||||||
if (!(player instanceof LocalPlayer))
|
if (!(player instanceof LocalPlayer))
|
||||||
return;
|
return;
|
||||||
if (te.targetOffset.equals(BlockPos.ZERO)) {
|
if (te.targetOffset.equals(BlockPos.ZERO)) {
|
||||||
player.displayClientMessage(Lang.translate("data_gatherer.invalid"), true);
|
player.displayClientMessage(Lang.translate("display_link.invalid"), true);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ScreenOpener.open(new DataGathererScreen(te));
|
ScreenOpener.open(new DisplayLinkScreen(te));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -153,13 +153,13 @@ public class DataGathererBlock extends WrenchableDirectionalBlock implements ITE
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<DataGathererTileEntity> getTileEntityClass() {
|
public Class<DisplayLinkTileEntity> getTileEntityClass() {
|
||||||
return DataGathererTileEntity.class;
|
return DisplayLinkTileEntity.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockEntityType<? extends DataGathererTileEntity> getTileEntityType() {
|
public BlockEntityType<? extends DisplayLinkTileEntity> getTileEntityType() {
|
||||||
return AllTileEntities.DATA_GATHERER.get();
|
return AllTileEntities.DISPLAY_LINK.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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.AllBlocks;
|
||||||
import com.simibubi.create.CreateClient;
|
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.config.AllConfigs;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
|
@ -29,17 +29,17 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||||
|
|
||||||
@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);
|
super(pBlock, pProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void gathererItemAlwaysPlacesWhenUsed(PlayerInteractEvent.RightClickBlock event) {
|
public static void gathererItemAlwaysPlacesWhenUsed(PlayerInteractEvent.RightClickBlock event) {
|
||||||
ItemStack usedItem = event.getItemStack();
|
ItemStack usedItem = event.getItemStack();
|
||||||
if (usedItem.getItem() instanceof DataGathererBlockItem) {
|
if (usedItem.getItem() instanceof DisplayLinkBlockItem) {
|
||||||
if (AllBlocks.DATA_GATHERER.has(event.getWorld()
|
if (AllBlocks.DISPLAY_LINK.has(event.getWorld()
|
||||||
.getBlockState(event.getPos())))
|
.getBlockState(event.getPos())))
|
||||||
return;
|
return;
|
||||||
event.setUseBlock(Result.DENY);
|
event.setUseBlock(Result.DENY);
|
||||||
|
@ -60,7 +60,7 @@ public class DataGathererBlockItem extends BlockItem {
|
||||||
if (player.isSteppingCarefully() && stack.hasTag()) {
|
if (player.isSteppingCarefully() && stack.hasTag()) {
|
||||||
if (level.isClientSide)
|
if (level.isClientSide)
|
||||||
return InteractionResult.SUCCESS;
|
return InteractionResult.SUCCESS;
|
||||||
player.displayClientMessage(Lang.translate("data_gatherer.clear"), true);
|
player.displayClientMessage(Lang.translate("display_link.clear"), true);
|
||||||
stack.setTag(null);
|
stack.setTag(null);
|
||||||
return InteractionResult.SUCCESS;
|
return InteractionResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ public class DataGathererBlockItem extends BlockItem {
|
||||||
return InteractionResult.SUCCESS;
|
return InteractionResult.SUCCESS;
|
||||||
CompoundTag stackTag = stack.getOrCreateTag();
|
CompoundTag stackTag = stack.getOrCreateTag();
|
||||||
stackTag.put("SelectedPos", NbtUtils.writeBlockPos(pos));
|
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);
|
stack.setTag(stackTag);
|
||||||
return InteractionResult.SUCCESS;
|
return InteractionResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -82,8 +82,8 @@ public class DataGathererBlockItem extends BlockItem {
|
||||||
BlockPos placedPos = pos.relative(pContext.getClickedFace(), state.getMaterial()
|
BlockPos placedPos = pos.relative(pContext.getClickedFace(), state.getMaterial()
|
||||||
.isReplaceable() ? 0 : 1);
|
.isReplaceable() ? 0 : 1);
|
||||||
|
|
||||||
if (!selectedPos.closerThan(placedPos, AllConfigs.SERVER.logistics.dataGathererRange.get())) {
|
if (!selectedPos.closerThan(placedPos, AllConfigs.SERVER.logistics.displayLinkRange.get())) {
|
||||||
player.displayClientMessage(Lang.translate("data_gatherer.too_far")
|
player.displayClientMessage(Lang.translate("display_link.too_far")
|
||||||
.withStyle(ChatFormatting.RED), true);
|
.withStyle(ChatFormatting.RED), true);
|
||||||
return InteractionResult.FAIL;
|
return InteractionResult.FAIL;
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@ public class DataGathererBlockItem extends BlockItem {
|
||||||
ItemStack itemInHand = player.getItemInHand(pContext.getHand());
|
ItemStack itemInHand = player.getItemInHand(pContext.getHand());
|
||||||
if (!itemInHand.isEmpty())
|
if (!itemInHand.isEmpty())
|
||||||
itemInHand.setTag(null);
|
itemInHand.setTag(null);
|
||||||
player.displayClientMessage(Lang.translate("data_gatherer.success")
|
player.displayClientMessage(Lang.translate("display_link.success")
|
||||||
.withStyle(ChatFormatting.GREEN), true);
|
.withStyle(ChatFormatting.GREEN), true);
|
||||||
return useOn;
|
return useOn;
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ public class DataGathererBlockItem extends BlockItem {
|
||||||
if (player == null)
|
if (player == null)
|
||||||
return;
|
return;
|
||||||
ItemStack heldItemMainhand = player.getMainHandItem();
|
ItemStack heldItemMainhand = player.getMainHandItem();
|
||||||
if (!(heldItemMainhand.getItem() instanceof DataGathererBlockItem))
|
if (!(heldItemMainhand.getItem() instanceof DisplayLinkBlockItem))
|
||||||
return;
|
return;
|
||||||
if (!heldItemMainhand.hasTag())
|
if (!heldItemMainhand.hasTag())
|
||||||
return;
|
return;
|
||||||
|
@ -135,7 +135,7 @@ public class DataGathererBlockItem extends BlockItem {
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private static AABB getBounds(BlockPos pos) {
|
private static AABB getBounds(BlockPos pos) {
|
||||||
Level world = Minecraft.getInstance().level;
|
Level world = Minecraft.getInstance().level;
|
||||||
DataGathererTarget target = AllDataGathererBehaviours.targetOf(world, pos);
|
DisplayTarget target = AllDisplayBehaviours.targetOf(world, pos);
|
||||||
|
|
||||||
if (target != null)
|
if (target != null)
|
||||||
return target.getMultiblockBounds(world, pos);
|
return target.getMultiblockBounds(world, pos);
|
|
@ -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 com.simibubi.create.foundation.networking.TileEntityConfigurationPacket;
|
||||||
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
|
@ -8,18 +8,18 @@ import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.FriendlyByteBuf;
|
import net.minecraft.network.FriendlyByteBuf;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
|
||||||
public class DataGathererConfigurationPacket extends TileEntityConfigurationPacket<DataGathererTileEntity> {
|
public class DisplayLinkConfigurationPacket extends TileEntityConfigurationPacket<DisplayLinkTileEntity> {
|
||||||
|
|
||||||
private CompoundTag configData;
|
private CompoundTag configData;
|
||||||
private int targetLine;
|
private int targetLine;
|
||||||
|
|
||||||
public DataGathererConfigurationPacket(BlockPos pos, CompoundTag configData, int targetLine) {
|
public DisplayLinkConfigurationPacket(BlockPos pos, CompoundTag configData, int targetLine) {
|
||||||
super(pos);
|
super(pos);
|
||||||
this.configData = configData;
|
this.configData = configData;
|
||||||
this.targetLine = targetLine;
|
this.targetLine = targetLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DataGathererConfigurationPacket(FriendlyByteBuf buffer) {
|
public DisplayLinkConfigurationPacket(FriendlyByteBuf buffer) {
|
||||||
super(buffer);
|
super(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public class DataGathererConfigurationPacket extends TileEntityConfigurationPack
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void applySettings(DataGathererTileEntity te) {
|
protected void applySettings(DisplayLinkTileEntity te) {
|
||||||
te.targetLine = targetLine;
|
te.targetLine = targetLine;
|
||||||
|
|
||||||
if (!configData.contains("Id")) {
|
if (!configData.contains("Id")) {
|
||||||
|
@ -45,7 +45,7 @@ public class DataGathererConfigurationPacket extends TileEntityConfigurationPack
|
||||||
}
|
}
|
||||||
|
|
||||||
ResourceLocation id = new ResourceLocation(configData.getString("Id"));
|
ResourceLocation id = new ResourceLocation(configData.getString("Id"));
|
||||||
DataGathererSource source = AllDataGathererBehaviours.getSource(id);
|
DisplaySource source = AllDisplayBehaviours.getSource(id);
|
||||||
if (source == null) {
|
if (source == null) {
|
||||||
te.notifyUpdate();
|
te.notifyUpdate();
|
||||||
return;
|
return;
|
|
@ -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.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.level.LevelAccessor;
|
import net.minecraft.world.level.LevelAccessor;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
|
|
||||||
public class DataGathererContext {
|
public class DisplayLinkContext {
|
||||||
|
|
||||||
private LevelAccessor level;
|
private LevelAccessor level;
|
||||||
private DataGathererTileEntity te;
|
private DisplayLinkTileEntity te;
|
||||||
|
|
||||||
public Object flapDisplayContext;
|
public Object flapDisplayContext;
|
||||||
|
|
||||||
public DataGathererContext(LevelAccessor level, DataGathererTileEntity te) {
|
public DisplayLinkContext(LevelAccessor level, DisplayLinkTileEntity te) {
|
||||||
this.level = level;
|
this.level = level;
|
||||||
this.te = te;
|
this.te = te;
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class DataGathererContext {
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DataGathererTileEntity te() {
|
public DisplayLinkTileEntity te() {
|
||||||
return te;
|
return te;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.jozufozu.flywheel.util.transform.TransformStack;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
|
@ -16,12 +16,12 @@ import net.minecraft.core.Direction;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
|
||||||
public class DataGathererRenderer extends SafeTileEntityRenderer<DataGathererTileEntity> {
|
public class DisplayLinkRenderer extends SafeTileEntityRenderer<DisplayLinkTileEntity> {
|
||||||
|
|
||||||
public DataGathererRenderer(BlockEntityRendererProvider.Context context) {}
|
public DisplayLinkRenderer(BlockEntityRendererProvider.Context context) {}
|
||||||
|
|
||||||
@Override
|
@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) {
|
int light, int overlay) {
|
||||||
float glow = te.glow.getValue(partialTicks);
|
float glow = te.glow.getValue(partialTicks);
|
||||||
if (glow < .125f)
|
if (glow < .125f)
|
||||||
|
@ -35,7 +35,7 @@ public class DataGathererRenderer extends SafeTileEntityRenderer<DataGathererTil
|
||||||
BlockState blockState = te.getBlockState();
|
BlockState blockState = te.getBlockState();
|
||||||
TransformStack msr = TransformStack.cast(ms);
|
TransformStack msr = TransformStack.cast(ms);
|
||||||
|
|
||||||
Direction face = blockState.getOptionalValue(DataGathererBlock.FACING)
|
Direction face = blockState.getOptionalValue(DisplayLinkBlock.FACING)
|
||||||
.orElse(Direction.UP);
|
.orElse(Direction.UP);
|
||||||
|
|
||||||
if (face.getAxis()
|
if (face.getAxis()
|
||||||
|
@ -49,11 +49,11 @@ public class DataGathererRenderer extends SafeTileEntityRenderer<DataGathererTil
|
||||||
.rotateX(-AngleHelper.verticalAngle(face) - 90)
|
.rotateX(-AngleHelper.verticalAngle(face) - 90)
|
||||||
.unCentre();
|
.unCentre();
|
||||||
|
|
||||||
CachedBufferer.partial(AllBlockPartials.DATA_GATHERER_TUBE, blockState)
|
CachedBufferer.partial(AllBlockPartials.DISPLAY_LINK_TUBE, blockState)
|
||||||
.light(LightTexture.FULL_BRIGHT)
|
.light(LightTexture.FULL_BRIGHT)
|
||||||
.renderInto(ms, buffer.getBuffer(RenderType.translucent()));
|
.renderInto(ms, buffer.getBuffer(RenderType.translucent()));
|
||||||
|
|
||||||
CachedBufferer.partial(AllBlockPartials.DATA_GATHERER_GLOW, blockState)
|
CachedBufferer.partial(AllBlockPartials.DISPLAY_LINK_GLOW, blockState)
|
||||||
.light(LightTexture.FULL_BRIGHT)
|
.light(LightTexture.FULL_BRIGHT)
|
||||||
.color(color, color, color, 255)
|
.color(color, color, color, 255)
|
||||||
.disableDiffuseMult()
|
.disableDiffuseMult()
|
|
@ -1,4 +1,4 @@
|
||||||
package com.simibubi.create.content.logistics.block.data;
|
package com.simibubi.create.content.logistics.block.display;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -9,10 +9,10 @@ import java.util.function.BiConsumer;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.jozufozu.flywheel.util.transform.TransformStack;
|
import com.jozufozu.flywheel.util.transform.TransformStack;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.simibubi.create.content.logistics.block.data.source.DataGathererSource;
|
import com.simibubi.create.content.logistics.block.display.source.DisplaySource;
|
||||||
import com.simibubi.create.content.logistics.block.data.source.SingleLineDataSource;
|
import com.simibubi.create.content.logistics.block.display.source.SingleLineDisplaySource;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataGathererTarget;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTarget;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.foundation.gui.AbstractSimiScreen;
|
import com.simibubi.create.foundation.gui.AbstractSimiScreen;
|
||||||
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
import com.simibubi.create.foundation.gui.AllGuiTextures;
|
||||||
import com.simibubi.create.foundation.gui.AllIcons;
|
import com.simibubi.create.foundation.gui.AllIcons;
|
||||||
|
@ -43,20 +43,20 @@ import net.minecraft.world.item.Items;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
|
||||||
public class DataGathererScreen extends AbstractSimiScreen {
|
public class DisplayLinkScreen extends AbstractSimiScreen {
|
||||||
|
|
||||||
private static final ItemStack FALLBACK = new ItemStack(Items.BARRIER);
|
private static final ItemStack FALLBACK = new ItemStack(Items.BARRIER);
|
||||||
|
|
||||||
private AllGuiTextures background;
|
private AllGuiTextures background;
|
||||||
private DataGathererTileEntity te;
|
private DisplayLinkTileEntity te;
|
||||||
private IconButton confirmButton;
|
private IconButton confirmButton;
|
||||||
|
|
||||||
BlockState sourceState;
|
BlockState sourceState;
|
||||||
BlockState targetState;
|
BlockState targetState;
|
||||||
ItemStack sourceIcon = FALLBACK;
|
ItemStack sourceIcon = FALLBACK;
|
||||||
ItemStack targetIcon = FALLBACK;
|
ItemStack targetIcon = FALLBACK;
|
||||||
List<DataGathererSource> sources;
|
List<DisplaySource> sources;
|
||||||
DataGathererTarget target;
|
DisplayTarget target;
|
||||||
|
|
||||||
ScrollInput sourceTypeSelector;
|
ScrollInput sourceTypeSelector;
|
||||||
Label sourceTypeLabel;
|
Label sourceTypeLabel;
|
||||||
|
@ -65,7 +65,7 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
|
|
||||||
Couple<Set<Pair<AbstractWidget, String>>> configWidgets;
|
Couple<Set<Pair<AbstractWidget, String>>> configWidgets;
|
||||||
|
|
||||||
public DataGathererScreen(DataGathererTileEntity te) {
|
public DisplayLinkScreen(DisplayLinkTileEntity te) {
|
||||||
this.background = AllGuiTextures.DATA_GATHERER;
|
this.background = AllGuiTextures.DATA_GATHERER;
|
||||||
this.te = te;
|
this.te = te;
|
||||||
sources = Collections.emptyList();
|
sources = Collections.emptyList();
|
||||||
|
@ -116,8 +116,8 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
asItem = targetBlock.asItem();
|
asItem = targetBlock.asItem();
|
||||||
targetIcon = asItem == null || asItem == Items.AIR ? FALLBACK : new ItemStack(asItem);
|
targetIcon = asItem == null || asItem == Items.AIR ? FALLBACK : new ItemStack(asItem);
|
||||||
|
|
||||||
sources = AllDataGathererBehaviours.sourcesOf(minecraft.level, te.getSourcePosition());
|
sources = AllDisplayBehaviours.sourcesOf(minecraft.level, te.getSourcePosition());
|
||||||
target = AllDataGathererBehaviours.targetOf(minecraft.level, te.getTargetPosition());
|
target = AllDisplayBehaviours.targetOf(minecraft.level, te.getTargetPosition());
|
||||||
|
|
||||||
removeWidget(targetLineSelector);
|
removeWidget(targetLineSelector);
|
||||||
removeWidget(targetLineLabel);
|
removeWidget(targetLineLabel);
|
||||||
|
@ -130,7 +130,7 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
sourceTypeSelector = null;
|
sourceTypeSelector = null;
|
||||||
|
|
||||||
if (target != 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 rows = stats.maxRows();
|
||||||
int startIndex = Math.min(te.targetLine, rows);
|
int startIndex = Math.min(te.targetLine, rows);
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
|
|
||||||
if (rows > 1) {
|
if (rows > 1) {
|
||||||
targetLineSelector = new ScrollInput(x + 61, y + 105, 135, 16).withRange(0, rows)
|
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()
|
.inverted()
|
||||||
.calling(i -> targetLineLabel.text = target.getLineOptionText(i))
|
.calling(i -> targetLineLabel.text = target.getLineOptionText(i))
|
||||||
.setState(startIndex);
|
.setState(startIndex);
|
||||||
|
@ -158,11 +158,11 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
|
|
||||||
if (sources.size() > 1) {
|
if (sources.size() > 1) {
|
||||||
List<Component> options = sources.stream()
|
List<Component> options = sources.stream()
|
||||||
.map(DataGathererSource::getName)
|
.map(DisplaySource::getName)
|
||||||
.toList();
|
.toList();
|
||||||
sourceTypeSelector = new SelectionScrollInput(x + 61, y + 26, 135, 16).forOptions(options)
|
sourceTypeSelector = new SelectionScrollInput(x + 61, y + 26, 135, 16).forOptions(options)
|
||||||
.writingTo(sourceTypeLabel)
|
.writingTo(sourceTypeLabel)
|
||||||
.titled(Lang.translate("data_gatherer.information_type"))
|
.titled(Lang.translate("display_link.information_type"))
|
||||||
.calling(this::initGathererSourceSubOptions)
|
.calling(this::initGathererSourceSubOptions)
|
||||||
.setState(startIndex);
|
.setState(startIndex);
|
||||||
sourceTypeSelector.onChanged();
|
sourceTypeSelector.onChanged();
|
||||||
|
@ -176,20 +176,20 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initGathererSourceSubOptions(int i) {
|
private void initGathererSourceSubOptions(int i) {
|
||||||
DataGathererSource source = sources.get(i);
|
DisplaySource source = sources.get(i);
|
||||||
source.populateData(new DataGathererContext(te.getLevel(), te));
|
source.populateData(new DisplayLinkContext(te.getLevel(), te));
|
||||||
|
|
||||||
if (targetLineSelector != null)
|
if (targetLineSelector != null)
|
||||||
targetLineSelector
|
targetLineSelector
|
||||||
.titled(source instanceof SingleLineDataSource ? Lang.translate("data_gatherer.display_on")
|
.titled(source instanceof SingleLineDisplaySource ? Lang.translate("display_link.display_on")
|
||||||
: Lang.translate("data_gatherer.display_on_multiline"));
|
: Lang.translate("display_link.display_on_multiline"));
|
||||||
|
|
||||||
configWidgets.forEach(s -> {
|
configWidgets.forEach(s -> {
|
||||||
s.forEach(p -> removeWidget(p.getFirst()));
|
s.forEach(p -> removeWidget(p.getFirst()));
|
||||||
s.clear();
|
s.clear();
|
||||||
});
|
});
|
||||||
|
|
||||||
DataGathererContext context = new DataGathererContext(minecraft.level, te);
|
DisplayLinkContext context = new DisplayLinkContext(minecraft.level, te);
|
||||||
configWidgets.forEachWithContext((s, first) -> source.initConfigurationWidgets(context,
|
configWidgets.forEachWithContext((s, first) -> source.initConfigurationWidgets(context,
|
||||||
new LineBuilder(s, guiLeft + 60, guiTop + (first ? 51 : 72)), first));
|
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)));
|
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()));
|
targetLineSelector == null ? 0 : targetLineSelector.getState()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -295,13 +295,13 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
int y = guiTop;
|
int y = guiTop;
|
||||||
|
|
||||||
background.render(ms, x, y, this);
|
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);
|
font.draw(ms, header, x + background.width / 2 - font.width(header) / 2, y + 4, 0x442000);
|
||||||
|
|
||||||
if (sources.isEmpty())
|
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)
|
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())
|
if (!sourceIcon.isEmpty())
|
||||||
minecraft.getItemRenderer()
|
minecraft.getItemRenderer()
|
||||||
|
@ -325,7 +325,7 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
.rotateX(-22)
|
.rotateX(-22)
|
||||||
.rotateY(63);
|
.rotateY(63);
|
||||||
GuiGameElement.of(te.getBlockState()
|
GuiGameElement.of(te.getBlockState()
|
||||||
.setValue(DataGathererBlock.FACING, Direction.UP))
|
.setValue(DisplayLinkBlock.FACING, Direction.UP))
|
||||||
.render(ms);
|
.render(ms);
|
||||||
ms.popPose();
|
ms.popPose();
|
||||||
}
|
}
|
||||||
|
@ -353,20 +353,20 @@ public class DataGathererScreen extends AbstractSimiScreen {
|
||||||
|
|
||||||
if (sourceState != null && mX >= 33 && mX < 53 && mY >= 24 && mY < 44) {
|
if (sourceState != null && mX >= 33 && mX < 53 && mY >= 24 && mY < 44) {
|
||||||
renderComponentTooltip(ms,
|
renderComponentTooltip(ms,
|
||||||
ImmutableList.of(Lang.translate("data_gatherer.reading_from"), sourceState.getBlock()
|
ImmutableList.of(Lang.translate("display_link.reading_from"), sourceState.getBlock()
|
||||||
.getName()
|
.getName()
|
||||||
.withStyle(s -> s.withColor(sources.isEmpty() ? 0xF68989 : 0xF2C16D)),
|
.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)),
|
.withStyle(ChatFormatting.GRAY)),
|
||||||
mouseX, mouseY);
|
mouseX, mouseY);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (targetState != null && mX >= 33 && mX < 53 && mY >= 102 && mY < 122) {
|
if (targetState != null && mX >= 33 && mX < 53 && mY >= 102 && mY < 122) {
|
||||||
renderComponentTooltip(ms,
|
renderComponentTooltip(ms,
|
||||||
ImmutableList.of(Lang.translate("data_gatherer.writing_to"), targetState.getBlock()
|
ImmutableList.of(Lang.translate("display_link.writing_to"), targetState.getBlock()
|
||||||
.getName()
|
.getName()
|
||||||
.withStyle(s -> s.withColor(target == null ? 0xF68989 : 0xF2C16D)),
|
.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)),
|
.withStyle(ChatFormatting.GRAY)),
|
||||||
mouseX, mouseY);
|
mouseX, mouseY);
|
||||||
}
|
}
|
|
@ -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 java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.content.logistics.block.data.source.DataGathererSource;
|
import com.simibubi.create.content.logistics.block.display.source.DisplaySource;
|
||||||
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.tileEntity.SmartTileEntity;
|
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
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.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
|
||||||
public class DataGathererTileEntity extends SmartTileEntity {
|
public class DisplayLinkTileEntity extends SmartTileEntity {
|
||||||
|
|
||||||
protected BlockPos targetOffset;
|
protected BlockPos targetOffset;
|
||||||
|
|
||||||
public DataGathererSource activeSource;
|
public DisplaySource activeSource;
|
||||||
private CompoundTag sourceConfig;
|
private CompoundTag sourceConfig;
|
||||||
|
|
||||||
public DataGathererTarget activeTarget;
|
public DisplayTarget activeTarget;
|
||||||
public int targetLine;
|
public int targetLine;
|
||||||
|
|
||||||
public LerpedFloat glow;
|
public LerpedFloat glow;
|
||||||
|
@ -33,7 +33,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
|
|
||||||
public int refreshTicks;
|
public int refreshTicks;
|
||||||
|
|
||||||
public DataGathererTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
public DisplayLinkTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||||
super(type, pos, state);
|
super(type, pos, state);
|
||||||
targetOffset = BlockPos.ZERO;
|
targetOffset = BlockPos.ZERO;
|
||||||
sourceConfig = new CompoundTag();
|
sourceConfig = new CompoundTag();
|
||||||
|
@ -62,7 +62,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
|
|
||||||
public void tickSource() {
|
public void tickSource() {
|
||||||
refreshTicks = 0;
|
refreshTicks = 0;
|
||||||
if (getBlockState().getOptionalValue(DataGathererBlock.POWERED)
|
if (getBlockState().getOptionalValue(DisplayLinkBlock.POWERED)
|
||||||
.orElse(true))
|
.orElse(true))
|
||||||
return;
|
return;
|
||||||
if (!level.isClientSide)
|
if (!level.isClientSide)
|
||||||
|
@ -73,7 +73,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
if (activeSource == null)
|
if (activeSource == null)
|
||||||
return;
|
return;
|
||||||
refreshTicks = 0;
|
refreshTicks = 0;
|
||||||
activeSource.onSignalReset(new DataGathererContext(level, this));
|
activeSource.onSignalReset(new DisplayLinkContext(level, this));
|
||||||
updateGatheredData();
|
updateGatheredData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,8 +84,8 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
if (!level.isLoaded(targetPosition) || !level.isLoaded(sourcePosition))
|
if (!level.isLoaded(targetPosition) || !level.isLoaded(sourcePosition))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DataGathererTarget target = AllDataGathererBehaviours.targetOf(level, targetPosition);
|
DisplayTarget target = AllDisplayBehaviours.targetOf(level, targetPosition);
|
||||||
List<DataGathererSource> sources = AllDataGathererBehaviours.sourcesOf(level, sourcePosition);
|
List<DisplaySource> sources = AllDisplayBehaviours.sourcesOf(level, sourcePosition);
|
||||||
boolean notify = false;
|
boolean notify = false;
|
||||||
|
|
||||||
if (activeTarget != target) {
|
if (activeTarget != target) {
|
||||||
|
@ -104,7 +104,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
if (activeSource == null || activeTarget == null)
|
if (activeSource == null || activeTarget == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DataGathererContext context = new DataGathererContext(level, this);
|
DisplayLinkContext context = new DisplayLinkContext(level, this);
|
||||||
activeSource.transferData(context, activeTarget, targetLine);
|
activeSource.transferData(context, activeTarget, targetLine);
|
||||||
sendPulse = true;
|
sendPulse = true;
|
||||||
sendData();
|
sendData();
|
||||||
|
@ -149,7 +149,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
targetLine = tag.getInt("TargetLine");
|
targetLine = tag.getInt("TargetLine");
|
||||||
|
|
||||||
if (clientPacket && tag.contains("TargetType"))
|
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"))
|
if (clientPacket && tag.contains("Pulse"))
|
||||||
glow.setValue(2);
|
glow.setValue(2);
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CompoundTag data = tag.getCompound("Source");
|
CompoundTag data = tag.getCompound("Source");
|
||||||
activeSource = AllDataGathererBehaviours.getSource(new ResourceLocation(data.getString("Id")));
|
activeSource = AllDisplayBehaviours.getSource(new ResourceLocation(data.getString("Id")));
|
||||||
sourceConfig = new CompoundTag();
|
sourceConfig = new CompoundTag();
|
||||||
if (activeSource != null)
|
if (activeSource != null)
|
||||||
sourceConfig = data.copy();
|
sourceConfig = data.copy();
|
||||||
|
@ -180,7 +180,7 @@ public class DataGathererTileEntity extends SmartTileEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Direction getDirection() {
|
public Direction getDirection() {
|
||||||
return getBlockState().getOptionalValue(DataGathererBlock.FACING)
|
return getBlockState().getOptionalValue(DisplayLinkBlock.FACING)
|
||||||
.orElse(Direction.UP)
|
.orElse(Direction.UP)
|
||||||
.getOpposite();
|
.getOpposite();
|
||||||
}
|
}
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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;
|
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.server.level.ServerPlayer;
|
||||||
import net.minecraft.stats.Stats;
|
import net.minecraft.stats.Stats;
|
||||||
|
|
||||||
public class DeathCounterDataSource extends StatTrackingDataSource {
|
public class DeathCounterDataSource extends StatTrackingDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int updatedScoreOf(ServerPlayer player) {
|
protected int updatedScoreOf(ServerPlayer player) {
|
||||||
|
@ -26,7 +26,7 @@ public class DeathCounterDataSource extends StatTrackingDataSource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Component getObjectiveDisplayName() {
|
protected Component getObjectiveDisplayName() {
|
||||||
return Lang.translate("data_source.scoreboard.objective.deaths");
|
return Lang.translate("display_source.scoreboard.objective.deaths");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererBehaviour;
|
import com.simibubi.create.content.logistics.block.display.DisplayBehaviour;
|
||||||
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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataGathererTarget;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayBoardTarget;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTarget;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.FlapDisplayDataTarget;
|
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.FlapDisplayLayout;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public abstract class DataGathererSource extends DataGathererBehaviour {
|
public abstract class DisplaySource extends DisplayBehaviour {
|
||||||
|
|
||||||
public static final List<MutableComponent> EMPTY = ImmutableList.of(new TextComponent(""));
|
public static final List<MutableComponent> EMPTY = ImmutableList.of(new TextComponent(""));
|
||||||
public static final MutableComponent EMPTY_LINE = new TextComponent("");
|
public static final MutableComponent EMPTY_LINE = new TextComponent("");
|
||||||
public static final MutableComponent WHITESPACE = new TextComponent(" ");
|
public static final MutableComponent WHITESPACE = new TextComponent(" ");
|
||||||
|
|
||||||
public abstract List<MutableComponent> provideText(DataGathererContext context, DataTargetStats stats);
|
public abstract List<MutableComponent> provideText(DisplayLinkContext context, DisplayTargetStats stats);
|
||||||
|
|
||||||
public void transferData(DataGathererContext context, DataGathererTarget activeTarget, int line) {
|
public void transferData(DisplayLinkContext context, DisplayTarget activeTarget, int line) {
|
||||||
DataTargetStats stats = activeTarget.provideStats(context);
|
DisplayTargetStats stats = activeTarget.provideStats(context);
|
||||||
|
|
||||||
if (activeTarget instanceof FlapDisplayDataTarget fddt) {
|
if (activeTarget instanceof DisplayBoardTarget fddt) {
|
||||||
List<List<MutableComponent>> flapDisplayText = provideFlapDisplayText(context, stats);
|
List<List<MutableComponent>> flapDisplayText = provideFlapDisplayText(context, stats);
|
||||||
fddt.acceptFlapText(line, flapDisplayText, context);
|
fddt.acceptFlapText(line, flapDisplayText, context);
|
||||||
return;
|
return;
|
||||||
|
@ -39,12 +39,11 @@ public abstract class DataGathererSource extends DataGathererBehaviour {
|
||||||
|
|
||||||
List<MutableComponent> text = provideText(context, stats);
|
List<MutableComponent> text = provideText(context, stats);
|
||||||
activeTarget.acceptText(line, text, context);
|
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() {
|
public int getPassiveRefreshTicks() {
|
||||||
return 100;
|
return 100;
|
||||||
|
@ -55,22 +54,22 @@ public abstract class DataGathererSource extends DataGathererBehaviour {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Component getName() {
|
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) {
|
FlapDisplayLayout layout) {
|
||||||
if (!layout.isLayout("Default"))
|
if (!layout.isLayout("Default"))
|
||||||
layout.loadDefault(flapDisplay.getMaxCharCount());
|
layout.loadDefault(flapDisplay.getMaxCharCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<List<MutableComponent>> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) {
|
public List<List<MutableComponent>> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
return provideText(context, stats).stream()
|
return provideText(context, stats).stream()
|
||||||
.map(Arrays::asList)
|
.map(Arrays::asList)
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {}
|
public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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 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.display.DisplayLinkContext;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
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.block.redstone.StockpileSwitchTileEntity;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public class FillLevelDataSource extends NumericSingleLineDataSource {
|
public class FillLevelDisplaySource extends NumericSingleLineDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
BlockEntity te = context.getSourceTE();
|
BlockEntity te = context.getSourceTE();
|
||||||
if (!(te instanceof StockpileSwitchTileEntity sste))
|
if (!(te instanceof StockpileSwitchTileEntity sste))
|
||||||
return EMPTY_LINE;
|
return EMPTY_LINE;
|
||||||
|
@ -56,7 +56,7 @@ public class FillLevelDataSource extends NumericSingleLineDataSource {
|
||||||
return new TextComponent(s.toString());
|
return new TextComponent(s.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean usePercent(DataGathererContext context) {
|
private boolean usePercent(DisplayLinkContext context) {
|
||||||
return context.sourceConfig()
|
return context.sourceConfig()
|
||||||
.getInt("Mode") == 0;
|
.getInt("Mode") == 0;
|
||||||
}
|
}
|
||||||
|
@ -67,12 +67,12 @@ public class FillLevelDataSource extends NumericSingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getFlapDisplayLayoutName(DataGathererContext context) {
|
protected String getFlapDisplayLayoutName(DisplayLinkContext context) {
|
||||||
return usePercent(context) ? super.getFlapDisplayLayoutName(context) : "Progress";
|
return usePercent(context) ? super.getFlapDisplayLayoutName(context) : "Progress";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) {
|
protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) {
|
||||||
return usePercent(context) ? super.createSectionForValue(context, size)
|
return usePercent(context) ? super.createSectionForValue(context, size)
|
||||||
: new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "pixel", false, false).wideFlaps();
|
: new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "pixel", false, false).wideFlaps();
|
||||||
}
|
}
|
||||||
|
@ -83,18 +83,18 @@ public class FillLevelDataSource extends NumericSingleLineDataSource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@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);
|
super.initConfigurationWidgets(context, builder, isFirstLine);
|
||||||
if (isFirstLine)
|
if (isFirstLine)
|
||||||
return;
|
return;
|
||||||
builder.addSelectionScrollInput(0, 120,
|
builder.addSelectionScrollInput(0, 120,
|
||||||
(si, l) -> si.forOptions(Lang.translatedOptions("data_source.fill_level", "percent", "progress_bar"))
|
(si, l) -> si.forOptions(Lang.translatedOptions("display_source.fill_level", "percent", "progress_bar"))
|
||||||
.titled(Lang.translate("data_source.fill_level.display")),
|
.titled(Lang.translate("display_source.fill_level.display")),
|
||||||
"Mode");
|
"Mode");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean allowsLabeling(DataGathererContext context) {
|
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.display.DisplayLinkContext;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.content.logistics.block.redstone.ContentObserverTileEntity;
|
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.filtering.FilteringBehaviour;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.inventory.InvManipulationBehaviour;
|
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.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
|
||||||
public class ItemCountDataSource extends NumericSingleLineDataSource {
|
public class ItemCountDisplaySource extends NumericSingleLineDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
BlockEntity sourceTE = context.getSourceTE();
|
BlockEntity sourceTE = context.getSourceTE();
|
||||||
if (!(sourceTE instanceof ContentObserverTileEntity cote))
|
if (!(sourceTE instanceof ContentObserverTileEntity cote))
|
||||||
return ZERO;
|
return ZERO;
|
||||||
|
@ -46,7 +46,7 @@ public class ItemCountDataSource extends NumericSingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean allowsLabeling(DataGathererContext context) {
|
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 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.content.logistics.block.redstone.ContentObserverTileEntity;
|
||||||
import com.simibubi.create.foundation.item.CountedItemStackList;
|
import com.simibubi.create.foundation.item.CountedItemStackList;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
|
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.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
|
||||||
public class ItemListDataSource extends ValueListDataSource {
|
public class ItemListDisplaySource extends ValueListDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Stream<IntAttached<MutableComponent>> provideEntries(DataGathererContext context, int maxRows) {
|
protected Stream<IntAttached<MutableComponent>> provideEntries(DisplayLinkContext context, int maxRows) {
|
||||||
BlockEntity sourceTE = context.getSourceTE();
|
BlockEntity sourceTE = context.getSourceTE();
|
||||||
if (!(sourceTE instanceof ContentObserverTileEntity cote))
|
if (!(sourceTE instanceof ContentObserverTileEntity cote))
|
||||||
return Stream.empty();
|
return Stream.empty();
|
|
@ -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 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.data.DataGathererTileEntity;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
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;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.belt.TransportedItemStackHandlerBehaviour.TransportedResult;
|
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.network.chat.MutableComponent;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
|
||||||
public class ItemNameDataSource extends SingleLineDataSource {
|
public class ItemNameDisplaySource extends SingleLineDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
DataGathererTileEntity gatherer = context.te();
|
DisplayLinkTileEntity gatherer = context.te();
|
||||||
Direction direction = gatherer.getDirection();
|
Direction direction = gatherer.getDirection();
|
||||||
MutableBlockPos pos = gatherer.getSourcePosition()
|
MutableBlockPos pos = gatherer.getSourcePosition()
|
||||||
.mutable();
|
.mutable();
|
||||||
|
@ -53,12 +53,12 @@ public class ItemNameDataSource extends SingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean allowsLabeling(DataGathererContext context) {
|
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getFlapDisplayLayoutName(DataGathererContext context) {
|
protected String getFlapDisplayLayoutName(DisplayLinkContext context) {
|
||||||
return "Number";
|
return "Number";
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.contraptions.goggles.IHaveGoggleInformation;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererBlock;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkBlock;
|
||||||
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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererTileEntity;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkTileEntity;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public class ItemThoughputDataSource extends AccumulatedItemCountDataSource {
|
public class ItemThoughputDisplaySource extends AccumulatedItemCountDisplaySource {
|
||||||
|
|
||||||
static final int POOL_SIZE = 10;
|
static final int POOL_SIZE = 10;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
CompoundTag conf = context.sourceConfig();
|
CompoundTag conf = context.sourceConfig();
|
||||||
if (conf.contains("Inactive"))
|
if (conf.contains("Inactive"))
|
||||||
return new TextComponent("0");
|
return new TextComponent("0");
|
||||||
|
@ -48,9 +48,9 @@ public class ItemThoughputDataSource extends AccumulatedItemCountDataSource {
|
||||||
return new TextComponent(IHaveGoggleInformation.format(rate));
|
return new TextComponent(IHaveGoggleInformation.format(rate));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void itemReceived(DataGathererTileEntity te, int amount) {
|
public void itemReceived(DisplayLinkTileEntity te, int amount) {
|
||||||
if (te.getBlockState()
|
if (te.getBlockState()
|
||||||
.getOptionalValue(DataGathererBlock.POWERED)
|
.getOptionalValue(DisplayLinkBlock.POWERED)
|
||||||
.orElse(true))
|
.orElse(true))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -101,14 +101,14 @@ public class ItemThoughputDataSource extends AccumulatedItemCountDataSource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@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);
|
super.initConfigurationWidgets(context, builder, isFirstLine);
|
||||||
if (isFirstLine)
|
if (isFirstLine)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
builder.addSelectionScrollInput(0, 80, (si, l) -> {
|
builder.addSelectionScrollInput(0, 80, (si, l) -> {
|
||||||
si.forOptions(Lang.translatedOptions("data_source.item_throughput.interval", "second", "minute", "hour"))
|
si.forOptions(Lang.translatedOptions("display_source.item_throughput.interval", "second", "minute", "hour"))
|
||||||
.titled(Lang.translate("data_source.item_throughput.interval"));
|
.titled(Lang.translate("display_source.item_throughput.interval"));
|
||||||
}, "Interval");
|
}, "Interval");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.display.DisplayLinkContext;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.NixieTubeDataTarget;
|
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.block.redstone.NixieTubeTileEntity;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
|
|
||||||
import net.minecraft.network.chat.MutableComponent;
|
import net.minecraft.network.chat.MutableComponent;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
|
|
||||||
public class NixieTubeDataSource extends SingleLineDataSource {
|
public class NixieTubeDisplaySource extends SingleLineDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getTranslationKey() {
|
protected String getTranslationKey() {
|
||||||
|
@ -17,7 +17,7 @@ public class NixieTubeDataSource extends SingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
BlockEntity sourceTE = context.getSourceTE();
|
BlockEntity sourceTE = context.getSourceTE();
|
||||||
if (!(sourceTE instanceof NixieTubeTileEntity nte))
|
if (!(sourceTE instanceof NixieTubeTileEntity nte))
|
||||||
return EMPTY_LINE;
|
return EMPTY_LINE;
|
||||||
|
@ -35,25 +35,25 @@ public class NixieTubeDataSource extends SingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean allowsLabeling(DataGathererContext context) {
|
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||||
return !(context.te().activeTarget instanceof NixieTubeDataTarget);
|
return !(context.te().activeTarget instanceof NixieTubeDisplayTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getFlapDisplayLayoutName(DataGathererContext context) {
|
protected String getFlapDisplayLayoutName(DisplayLinkContext context) {
|
||||||
if (isNumeric(context))
|
if (isNumeric(context))
|
||||||
return "Number";
|
return "Number";
|
||||||
return super.getFlapDisplayLayoutName(context);
|
return super.getFlapDisplayLayoutName(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) {
|
protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) {
|
||||||
if (isNumeric(context))
|
if (isNumeric(context))
|
||||||
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "numeric", false, false);
|
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "numeric", false, false);
|
||||||
return super.createSectionForValue(context, size);
|
return super.createSectionForValue(context, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isNumeric(DataGathererContext context) {
|
protected boolean isNumeric(DisplayLinkContext context) {
|
||||||
return context.flapDisplayContext == Boolean.TRUE;
|
return context.flapDisplayContext == Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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 java.util.stream.Stream;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.foundation.utility.IntAttached;
|
import com.simibubi.create.foundation.utility.IntAttached;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.level.Level;
|
||||||
import net.minecraft.world.scores.Objective;
|
import net.minecraft.world.scores.Objective;
|
||||||
|
|
||||||
public class ScoreboardDataSource extends ValueListDataSource {
|
public class ScoreboardDisplaySource extends ValueListDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Stream<IntAttached<MutableComponent>> provideEntries(DataGathererContext context, int maxRows) {
|
protected Stream<IntAttached<MutableComponent>> provideEntries(DisplayLinkContext context, int maxRows) {
|
||||||
Level level = context.te()
|
Level level = context.te()
|
||||||
.getLevel();
|
.getLevel();
|
||||||
if (!(level instanceof ServerLevel sLevel))
|
if (!(level instanceof ServerLevel sLevel))
|
||||||
|
@ -48,7 +47,7 @@ public class ScoreboardDataSource extends ValueListDataSource {
|
||||||
|
|
||||||
private ImmutableList<IntAttached<MutableComponent>> notFound(String objective) {
|
private ImmutableList<IntAttached<MutableComponent>> notFound(String objective) {
|
||||||
return ImmutableList
|
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
|
@Override
|
||||||
|
@ -57,11 +56,11 @@ public class ScoreboardDataSource extends ValueListDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {
|
public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {
|
||||||
if (isFirstLine)
|
if (isFirstLine)
|
||||||
builder.addTextInput(0, 137, (e, t) -> {
|
builder.addTextInput(0, 137, (e, t) -> {
|
||||||
e.setValue("");
|
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)),
|
.withStyle(s -> s.withColor(0x5391E1)),
|
||||||
Lang.translate("gui.schedule.lmb_edit")
|
Lang.translate("gui.schedule.lmb_edit")
|
||||||
.withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC)));
|
.withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC)));
|
|
@ -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 java.util.List;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
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.FlapDisplayLayout;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
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
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@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))
|
if (isFirstLine && allowsLabeling(context))
|
||||||
addLabelingTextBox(builder);
|
addLabelingTextBox(builder);
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ public abstract class SingleLineDataSource extends DataGathererSource {
|
||||||
protected void addLabelingTextBox(LineBuilder builder) {
|
protected void addLabelingTextBox(LineBuilder builder) {
|
||||||
builder.addTextInput(0, 137, (e, t) -> {
|
builder.addTextInput(0, 137, (e, t) -> {
|
||||||
e.setValue("");
|
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)),
|
.withStyle(s -> s.withColor(0x5391E1)),
|
||||||
Lang.translate("gui.schedule.lmb_edit")
|
Lang.translate("gui.schedule.lmb_edit")
|
||||||
.withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC)));
|
.withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC)));
|
||||||
|
@ -42,7 +42,7 @@ public abstract class SingleLineDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MutableComponent> provideText(DataGathererContext context, DataTargetStats stats) {
|
public List<MutableComponent> provideText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
MutableComponent line = provideLine(context, stats);
|
MutableComponent line = provideLine(context, stats);
|
||||||
if (line == EMPTY_LINE)
|
if (line == EMPTY_LINE)
|
||||||
return EMPTY;
|
return EMPTY;
|
||||||
|
@ -58,7 +58,7 @@ public abstract class SingleLineDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<List<MutableComponent>> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) {
|
public List<List<MutableComponent>> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
|
|
||||||
if (allowsLabeling(context)) {
|
if (allowsLabeling(context)) {
|
||||||
String label = context.sourceConfig()
|
String label = context.sourceConfig()
|
||||||
|
@ -71,7 +71,7 @@ public abstract class SingleLineDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay,
|
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay,
|
||||||
FlapDisplayLayout layout) {
|
FlapDisplayLayout layout) {
|
||||||
String layoutKey = getFlapDisplayLayoutName(context);
|
String layoutKey = getFlapDisplayLayoutName(context);
|
||||||
|
|
||||||
|
@ -107,11 +107,11 @@ public abstract class SingleLineDataSource extends DataGathererSource {
|
||||||
layout.configure(layoutName, ImmutableList.of(labelSection));
|
layout.configure(layoutName, ImmutableList.of(labelSection));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getFlapDisplayLayoutName(DataGathererContext context) {
|
protected String getFlapDisplayLayoutName(DisplayLinkContext context) {
|
||||||
return "Default";
|
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);
|
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "alphabet", false, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.foundation.utility.IntAttached;
|
import com.simibubi.create.foundation.utility.IntAttached;
|
||||||
|
|
||||||
import net.minecraft.network.chat.Component;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public abstract class StatTrackingDataSource extends ScoreboardDataSource {
|
public abstract class StatTrackingDisplaySource extends ScoreboardDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Stream<IntAttached<MutableComponent>> provideEntries(DataGathererContext context, int maxRows) {
|
protected Stream<IntAttached<MutableComponent>> provideEntries(DisplayLinkContext context, int maxRows) {
|
||||||
Level level = context.te()
|
Level level = context.te()
|
||||||
.getLevel();
|
.getLevel();
|
||||||
if (!(level instanceof ServerLevel sLevel))
|
if (!(level instanceof ServerLevel sLevel))
|
||||||
|
@ -53,12 +52,12 @@ public abstract class StatTrackingDataSource extends ScoreboardDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean shortenNumbers(DataGathererContext context) {
|
protected boolean shortenNumbers(DisplayLinkContext context) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {}
|
public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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;
|
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 java.util.List;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
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.FlapDisplayLayout;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public class StationSummaryDataSource extends DataGathererSource {
|
public class StationSummaryDisplaySource extends DisplaySource {
|
||||||
|
|
||||||
protected static final MutableComponent UNPREDICTABLE = new TextComponent(" ~ ");
|
protected static final MutableComponent UNPREDICTABLE = new TextComponent(" ~ ");
|
||||||
|
|
||||||
|
@ -35,12 +35,12 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
ImmutableList.of(WHITESPACE, new TextComponent(" . "), WHITESPACE, WHITESPACE, WHITESPACE);
|
ImmutableList.of(WHITESPACE, new TextComponent(" . "), WHITESPACE, WHITESPACE, WHITESPACE);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MutableComponent> provideText(DataGathererContext context, DataTargetStats stats) {
|
public List<MutableComponent> provideText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
return EMPTY;
|
return EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<List<MutableComponent>> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) {
|
public List<List<MutableComponent>> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
String filter = context.sourceConfig()
|
String filter = context.sourceConfig()
|
||||||
.getString("Filter");
|
.getString("Filter");
|
||||||
boolean hasPlatform = filter.contains("*");
|
boolean hasPlatform = filter.contains("*");
|
||||||
|
@ -56,7 +56,7 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
|
|
||||||
} else if (prediction.ticks < 200) {
|
} else if (prediction.ticks < 200) {
|
||||||
lines.add(WHITESPACE);
|
lines.add(WHITESPACE);
|
||||||
lines.add(Lang.translate("data_source.station_summary.now"));
|
lines.add(Lang.translate("display_source.station_summary.now"));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
int min = prediction.ticks / 1200;
|
int min = prediction.ticks / 1200;
|
||||||
|
@ -67,8 +67,8 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
sec = 0;
|
sec = 0;
|
||||||
}
|
}
|
||||||
lines.add(min > 0 ? new TextComponent(String.valueOf(min)) : WHITESPACE);
|
lines.add(min > 0 ? new TextComponent(String.valueOf(min)) : WHITESPACE);
|
||||||
lines.add(min > 0 ? Lang.translate("data_source.station_summary.minutes")
|
lines.add(min > 0 ? Lang.translate("display_source.station_summary.minutes")
|
||||||
: Lang.translate("data_source.station_summary.seconds", sec));
|
: Lang.translate("display_source.station_summary.seconds", sec));
|
||||||
}
|
}
|
||||||
|
|
||||||
lines.add(prediction.train.name.copy());
|
lines.add(prediction.train.name.copy());
|
||||||
|
@ -97,7 +97,7 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay,
|
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay,
|
||||||
FlapDisplayLayout layout) {
|
FlapDisplayLayout layout) {
|
||||||
CompoundTag conf = context.sourceConfig();
|
CompoundTag conf = context.sourceConfig();
|
||||||
int columnWidth = conf.getInt("NameColumn");
|
int columnWidth = conf.getInt("NameColumn");
|
||||||
|
@ -157,7 +157,7 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void populateData(DataGathererContext context) {
|
public void populateData(DisplayLinkContext context) {
|
||||||
CompoundTag conf = context.sourceConfig();
|
CompoundTag conf = context.sourceConfig();
|
||||||
if (conf.contains("Filter"))
|
if (conf.contains("Filter"))
|
||||||
return;
|
return;
|
||||||
|
@ -171,11 +171,11 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {
|
public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {
|
||||||
if (isFirstLine) {
|
if (isFirstLine) {
|
||||||
builder.addTextInput(0, 137, (e, t) -> {
|
builder.addTextInput(0, 137, (e, t) -> {
|
||||||
e.setValue("");
|
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)),
|
.withStyle(s -> s.withColor(0x5391E1)),
|
||||||
Lang.translate("gui.schedule.lmb_edit")
|
Lang.translate("gui.schedule.lmb_edit")
|
||||||
.withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC)));
|
.withStyle(ChatFormatting.DARK_GRAY, ChatFormatting.ITALIC)));
|
||||||
|
@ -184,7 +184,7 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.addScrollInput(0, 32, (si, l) -> {
|
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)
|
.withRange(0, 73)
|
||||||
.withShiftStep(12);
|
.withShiftStep(12);
|
||||||
si.setState(50);
|
si.setState(50);
|
||||||
|
@ -192,7 +192,7 @@ public class StationSummaryDataSource extends DataGathererSource {
|
||||||
}, "NameColumn");
|
}, "NameColumn");
|
||||||
|
|
||||||
builder.addScrollInput(36, 22, (si, l) -> {
|
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)
|
.withRange(0, 16)
|
||||||
.withShiftStep(4);
|
.withShiftStep(4);
|
||||||
si.setState(3);
|
si.setState(3);
|
|
@ -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.contraptions.components.clock.CuckooClockTileEntity;
|
||||||
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.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
|
|
||||||
import net.minecraft.network.chat.MutableComponent;
|
import net.minecraft.network.chat.MutableComponent;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
|
|
||||||
public class StopWatchDataSource extends SingleLineDataSource {
|
public class StopWatchDisplaySource extends SingleLineDisplaySource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
if (!(context.getSourceTE()instanceof CuckooClockTileEntity ccte))
|
if (!(context.getSourceTE()instanceof CuckooClockTileEntity ccte))
|
||||||
return TimeOfDayDataSource.EMPTY_TIME;
|
return TimeOfDayDisplaySource.EMPTY_TIME;
|
||||||
if (ccte.getSpeed() == 0)
|
if (ccte.getSpeed() == 0)
|
||||||
return TimeOfDayDataSource.EMPTY_TIME;
|
return TimeOfDayDisplaySource.EMPTY_TIME;
|
||||||
|
|
||||||
if (!context.sourceConfig()
|
if (!context.sourceConfig()
|
||||||
.contains("StartTime"))
|
.contains("StartTime"))
|
||||||
|
@ -39,7 +39,7 @@ public class StopWatchDataSource extends SingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSignalReset(DataGathererContext context) {
|
public void onSignalReset(DisplayLinkContext context) {
|
||||||
context.sourceConfig()
|
context.sourceConfig()
|
||||||
.putLong("StartTime", context.te()
|
.putLong("StartTime", context.te()
|
||||||
.getLevel()
|
.getLevel()
|
||||||
|
@ -52,17 +52,17 @@ public class StopWatchDataSource extends SingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean allowsLabeling(DataGathererContext context) {
|
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getFlapDisplayLayoutName(DataGathererContext context) {
|
protected String getFlapDisplayLayoutName(DisplayLinkContext context) {
|
||||||
return "Instant";
|
return "Instant";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) {
|
protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) {
|
||||||
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "instant", false, false);
|
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "instant", false, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.Create;
|
||||||
import com.simibubi.create.content.contraptions.components.clock.CuckooClockTileEntity;
|
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.display.DisplayLinkContext;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
import com.simibubi.create.content.logistics.block.display.target.DisplayTargetStats;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public class TimeOfDayDataSource extends SingleLineDataSource {
|
public class TimeOfDayDisplaySource extends SingleLineDisplaySource {
|
||||||
|
|
||||||
public static final MutableComponent EMPTY_TIME = new TextComponent("--:--");
|
public static final MutableComponent EMPTY_TIME = new TextComponent("--:--");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected MutableComponent provideLine(DataGathererContext context, DataTargetStats stats) {
|
protected MutableComponent provideLine(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
if (!(context.level()instanceof ServerLevel sLevel))
|
if (!(context.level()instanceof ServerLevel sLevel))
|
||||||
return EMPTY_TIME;
|
return EMPTY_TIME;
|
||||||
if (!(context.getSourceTE() instanceof CuckooClockTileEntity ccte))
|
if (!(context.getSourceTE() instanceof CuckooClockTileEntity ccte))
|
||||||
|
@ -56,12 +56,12 @@ public class TimeOfDayDataSource extends SingleLineDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getFlapDisplayLayoutName(DataGathererContext context) {
|
protected String getFlapDisplayLayoutName(DisplayLinkContext context) {
|
||||||
return "Instant";
|
return "Instant";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected FlapDisplaySection createSectionForValue(DataGathererContext context, int size) {
|
protected FlapDisplaySection createSectionForValue(DisplayLinkContext context, int size) {
|
||||||
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "instant", false, false);
|
return new FlapDisplaySection(size * FlapDisplaySection.MONOSPACE, "instant", false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,19 +72,19 @@ public class TimeOfDayDataSource extends SingleLineDataSource {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@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);
|
super.initConfigurationWidgets(context, builder, isFirstLine);
|
||||||
if (isFirstLine)
|
if (isFirstLine)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
builder.addSelectionScrollInput(0, 60, (si, l) -> {
|
builder.addSelectionScrollInput(0, 60, (si, l) -> {
|
||||||
si.forOptions(Lang.translatedOptions("data_source.time", "12_hour", "24_hour"))
|
si.forOptions(Lang.translatedOptions("display_source.time", "12_hour", "24_hour"))
|
||||||
.titled(Lang.translate("data_source.time.format"));
|
.titled(Lang.translate("display_source.time.format"));
|
||||||
}, "Cycle");
|
}, "Cycle");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean allowsLabeling(DataGathererContext context) {
|
protected boolean allowsLabeling(DisplayLinkContext context) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
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 org.apache.commons.lang3.mutable.MutableInt;
|
||||||
|
|
||||||
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.data.DataGathererScreen.LineBuilder;
|
import com.simibubi.create.content.logistics.block.display.DisplayLinkScreen.LineBuilder;
|
||||||
import com.simibubi.create.content.logistics.block.data.target.DataTargetStats;
|
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.FlapDisplayLayout;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplaySection;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public abstract class ValueListDataSource extends DataGathererSource {
|
public abstract class ValueListDisplaySource extends DisplaySource {
|
||||||
|
|
||||||
protected abstract Stream<IntAttached<MutableComponent>> provideEntries(DataGathererContext context, int maxRows);
|
protected abstract Stream<IntAttached<MutableComponent>> provideEntries(DisplayLinkContext context, int maxRows);
|
||||||
|
|
||||||
protected abstract boolean valueFirst();
|
protected abstract boolean valueFirst();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MutableComponent> provideText(DataGathererContext context, DataTargetStats stats) {
|
public List<MutableComponent> provideText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
boolean isBook = context.getTargetTE() instanceof LecternBlockEntity;
|
boolean isBook = context.getTargetTE() instanceof LecternBlockEntity;
|
||||||
|
|
||||||
List<MutableComponent> list = provideEntries(context, stats.maxRows() * (isBook ? ENTRIES_PER_PAGE : 1))
|
List<MutableComponent> list = provideEntries(context, stats.maxRows() * (isBook ? ENTRIES_PER_PAGE : 1))
|
||||||
|
@ -77,7 +77,7 @@ public abstract class ValueListDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<List<MutableComponent>> provideFlapDisplayText(DataGathererContext context, DataTargetStats stats) {
|
public List<List<MutableComponent>> provideFlapDisplayText(DisplayLinkContext context, DisplayTargetStats stats) {
|
||||||
MutableInt highest = new MutableInt(0);
|
MutableInt highest = new MutableInt(0);
|
||||||
context.flapDisplayContext = highest;
|
context.flapDisplayContext = highest;
|
||||||
return provideEntries(context, stats.maxRows()).map(e -> {
|
return provideEntries(context, stats.maxRows()).map(e -> {
|
||||||
|
@ -87,7 +87,7 @@ public abstract class ValueListDataSource extends DataGathererSource {
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<MutableComponent> createComponentsFromEntry(DataGathererContext context,
|
protected List<MutableComponent> createComponentsFromEntry(DisplayLinkContext context,
|
||||||
IntAttached<MutableComponent> entry) {
|
IntAttached<MutableComponent> entry) {
|
||||||
int number = entry.getFirst();
|
int number = entry.getFirst();
|
||||||
MutableComponent name = entry.getSecond()
|
MutableComponent name = entry.getSecond()
|
||||||
|
@ -104,7 +104,7 @@ public abstract class ValueListDataSource extends DataGathererSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void loadFlapDisplayLayout(DataGathererContext context, FlapDisplayTileEntity flapDisplay,
|
public void loadFlapDisplayLayout(DisplayLinkContext context, FlapDisplayTileEntity flapDisplay,
|
||||||
FlapDisplayLayout layout) {
|
FlapDisplayLayout layout) {
|
||||||
|
|
||||||
boolean valueFirst = valueFirst();
|
boolean valueFirst = valueFirst();
|
||||||
|
@ -138,23 +138,23 @@ public abstract class ValueListDataSource extends DataGathererSource {
|
||||||
private Couple<MutableComponent> shorten(int number) {
|
private Couple<MutableComponent> shorten(int number) {
|
||||||
if (number >= 1000000)
|
if (number >= 1000000)
|
||||||
return Couple.create(new TextComponent(String.valueOf(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));
|
.append(WHITESPACE));
|
||||||
if (number >= 1000)
|
if (number >= 1000)
|
||||||
return Couple.create(new TextComponent(String.valueOf(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));
|
.append(WHITESPACE));
|
||||||
return Couple.create(new TextComponent(String.valueOf(number)), WHITESPACE);
|
return Couple.create(new TextComponent(String.valueOf(number)), WHITESPACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean shortenNumbers(DataGathererContext context) {
|
protected boolean shortenNumbers(DisplayLinkContext context) {
|
||||||
return context.sourceConfig()
|
return context.sourceConfig()
|
||||||
.getInt("Format") == 0;
|
.getInt("Format") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
public void initConfigurationWidgets(DataGathererContext context, LineBuilder builder, boolean isFirstLine) {
|
public void initConfigurationWidgets(DisplayLinkContext context, LineBuilder builder, boolean isFirstLine) {
|
||||||
if (isFirstLine)
|
if (isFirstLine)
|
||||||
addFullNumberConfig(builder);
|
addFullNumberConfig(builder);
|
||||||
}
|
}
|
||||||
|
@ -162,8 +162,8 @@ public abstract class ValueListDataSource extends DataGathererSource {
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
protected void addFullNumberConfig(LineBuilder builder) {
|
protected void addFullNumberConfig(LineBuilder builder) {
|
||||||
builder.addSelectionScrollInput(0, 75,
|
builder.addSelectionScrollInput(0, 75,
|
||||||
(si, l) -> si.forOptions(Lang.translatedOptions("data_source.value_list", "shortened", "full_number"))
|
(si, l) -> si.forOptions(Lang.translatedOptions("display_source.value_list", "shortened", "full_number"))
|
||||||
.titled(Lang.translate("data_source.value_list.display")),
|
.titled(Lang.translate("display_source.value_list.display")),
|
||||||
"Format");
|
"Format");
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 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.content.logistics.block.data.source.DataGathererSource;
|
import com.simibubi.create.content.logistics.block.display.source.DisplaySource;
|
||||||
import com.simibubi.create.content.logistics.block.data.source.SingleLineDataSource;
|
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.FlapDisplayLayout;
|
||||||
import com.simibubi.create.content.logistics.trains.management.display.FlapDisplayTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public class FlapDisplayDataTarget extends DataGathererTarget {
|
public class DisplayBoardTarget extends DisplayTarget {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void acceptText(int line, List<MutableComponent> text, DataGathererContext context) {}
|
public void acceptText(int line, List<MutableComponent> text, DisplayLinkContext context) {}
|
||||||
|
|
||||||
public void acceptFlapText(int line, List<List<MutableComponent>> text, DataGathererContext context) {
|
public void acceptFlapText(int line, List<List<MutableComponent>> text, DisplayLinkContext context) {
|
||||||
FlapDisplayTileEntity controller = getController(context);
|
FlapDisplayTileEntity controller = getController(context);
|
||||||
if (controller == null)
|
if (controller == null)
|
||||||
return;
|
return;
|
||||||
if (!controller.isSpeedRequirementFulfilled())
|
if (!controller.isSpeedRequirementFulfilled())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DataGathererSource source = context.te().activeSource;
|
DisplaySource source = context.te().activeSource;
|
||||||
List<FlapDisplayLayout> lines = controller.getLines();
|
List<FlapDisplayLayout> lines = controller.getLines();
|
||||||
for (int i = 0; i + line < lines.size(); i++) {
|
for (int i = 0; i + line < lines.size(); i++) {
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ public class FlapDisplayDataTarget extends DataGathererTarget {
|
||||||
FlapDisplayLayout layout = lines.get(i + line);
|
FlapDisplayLayout layout = lines.get(i + line);
|
||||||
|
|
||||||
if (i >= text.size()) {
|
if (i >= text.size()) {
|
||||||
if (source instanceof SingleLineDataSource)
|
if (source instanceof SingleLineDisplaySource)
|
||||||
break;
|
break;
|
||||||
controller.applyTextManually(i + line, null);
|
controller.applyTextManually(i + line, null);
|
||||||
continue;
|
continue;
|
||||||
|
@ -64,20 +64,20 @@ public class FlapDisplayDataTarget extends DataGathererTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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)
|
return super.isReserved(line, target, context)
|
||||||
|| target instanceof FlapDisplayTileEntity fdte && fdte.manualLines.length > line && fdte.manualLines[line];
|
|| target instanceof FlapDisplayTileEntity fdte && fdte.manualLines.length > line && fdte.manualLines[line];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTargetStats provideStats(DataGathererContext context) {
|
public DisplayTargetStats provideStats(DisplayLinkContext context) {
|
||||||
FlapDisplayTileEntity controller = getController(context);
|
FlapDisplayTileEntity controller = getController(context);
|
||||||
if (controller == null)
|
if (controller == null)
|
||||||
return new DataTargetStats(1, 1, this);
|
return new DisplayTargetStats(1, 1, this);
|
||||||
return new DataTargetStats(controller.ySize * 2, controller.getMaxCharCount(), this);
|
return new DisplayTargetStats(controller.ySize * 2, controller.getMaxCharCount(), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private FlapDisplayTileEntity getController(DataGathererContext context) {
|
private FlapDisplayTileEntity getController(DisplayLinkContext context) {
|
||||||
BlockEntity teIn = context.getTargetTE();
|
BlockEntity teIn = context.getTargetTE();
|
||||||
if (!(teIn instanceof FlapDisplayTileEntity te))
|
if (!(teIn instanceof FlapDisplayTileEntity te))
|
||||||
return null;
|
return null;
|
|
@ -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 java.util.List;
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.content.logistics.block.data.DataGathererBehaviour;
|
import com.simibubi.create.content.logistics.block.display.DisplayBehaviour;
|
||||||
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 com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
import net.minecraft.core.BlockPos;
|
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.AABB;
|
||||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
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<MutableComponent> text, DataGathererContext context);
|
public abstract void acceptText(int line, List<MutableComponent> text, DisplayLinkContext context);
|
||||||
|
|
||||||
public abstract DataTargetStats provideStats(DataGathererContext context);
|
public abstract DisplayTargetStats provideStats(DisplayLinkContext context);
|
||||||
|
|
||||||
public AABB getMultiblockBounds(LevelAccessor level, BlockPos pos) {
|
public AABB getMultiblockBounds(LevelAccessor level, BlockPos pos) {
|
||||||
VoxelShape shape = level.getBlockState(pos)
|
VoxelShape shape = level.getBlockState(pos)
|
||||||
|
@ -32,24 +32,24 @@ public abstract class DataGathererTarget extends DataGathererBehaviour {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Component getLineOptionText(int line) {
|
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)
|
if (line == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
CompoundTag tag = target.getTileData();
|
CompoundTag tag = target.getTileData();
|
||||||
CompoundTag compound = tag.getCompound("DataGatherer");
|
CompoundTag compound = tag.getCompound("DisplayLink");
|
||||||
compound.putLong("Line" + line, context.te()
|
compound.putLong("Line" + line, context.te()
|
||||||
.getBlockPos()
|
.getBlockPos()
|
||||||
.asLong());
|
.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 tag = target.getTileData();
|
||||||
CompoundTag compound = tag.getCompound("DataGatherer");
|
CompoundTag compound = tag.getCompound("DisplayLink");
|
||||||
|
|
||||||
if (!compound.contains("Line" + line))
|
if (!compound.contains("Line" + line))
|
||||||
return false;
|
return false;
|
||||||
|
@ -58,13 +58,13 @@ public abstract class DataGathererTarget extends DataGathererBehaviour {
|
||||||
BlockPos reserved = BlockPos.of(l);
|
BlockPos reserved = BlockPos.of(l);
|
||||||
|
|
||||||
if (!reserved.equals(context.te()
|
if (!reserved.equals(context.te()
|
||||||
.getBlockPos()) && AllBlocks.DATA_GATHERER.has(target.getLevel()
|
.getBlockPos()) && AllBlocks.DISPLAY_LINK.has(target.getLevel()
|
||||||
.getBlockState(reserved)))
|
.getBlockState(reserved)))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
compound.remove("Line" + line);
|
compound.remove("Line" + line);
|
||||||
if (compound.isEmpty())
|
if (compound.isEmpty())
|
||||||
tag.remove("DataGatherer");
|
tag.remove("DisplayLink");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package com.simibubi.create.content.logistics.block.display.target;
|
||||||
|
|
||||||
|
public record DisplayTargetStats(int maxRows, int maxColumns, DisplayTarget type) {
|
||||||
|
|
||||||
|
}
|
|
@ -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 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 com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
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.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.LecternBlockEntity;
|
import net.minecraft.world.level.block.entity.LecternBlockEntity;
|
||||||
|
|
||||||
public class LecternDataTarget extends DataGathererTarget {
|
public class LecternDisplayTarget extends DisplayTarget {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void acceptText(int line, List<MutableComponent> text, DataGathererContext context) {
|
public void acceptText(int line, List<MutableComponent> text, DisplayLinkContext context) {
|
||||||
BlockEntity te = context.getTargetTE();
|
BlockEntity te = context.getTargetTE();
|
||||||
if (!(te instanceof LecternBlockEntity lectern))
|
if (!(te instanceof LecternBlockEntity lectern))
|
||||||
return;
|
return;
|
||||||
|
@ -61,12 +61,12 @@ public class LecternDataTarget extends DataGathererTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTargetStats provideStats(DataGathererContext context) {
|
public DisplayTargetStats provideStats(DisplayLinkContext context) {
|
||||||
return new DataTargetStats(50, 256, this);
|
return new DisplayTargetStats(50, 256, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Component getLineOptionText(int line) {
|
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) {
|
private ItemStack signBook(ItemStack book) {
|
|
@ -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.MutableInt;
|
||||||
import org.apache.commons.lang3.mutable.MutableObject;
|
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.NixieTubeBlock;
|
||||||
import com.simibubi.create.content.logistics.block.redstone.NixieTubeTileEntity;
|
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.Dist;
|
||||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||||
|
|
||||||
public class NixieTubeDataTarget extends SingleLineDataTarget {
|
public class NixieTubeDisplayTarget extends SingleLineDisplayTarget {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void acceptLine(MutableComponent text, DataGathererContext context) {
|
protected void acceptLine(MutableComponent text, DisplayLinkContext context) {
|
||||||
String tagElement = Component.Serializer.toJson(text);
|
String tagElement = Component.Serializer.toJson(text);
|
||||||
NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> {
|
NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> {
|
||||||
BlockEntity blockEntity = context.level()
|
BlockEntity blockEntity = context.level()
|
||||||
|
@ -31,7 +31,7 @@ public class NixieTubeDataTarget extends SingleLineDataTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getWidth(DataGathererContext context) {
|
protected int getWidth(DisplayLinkContext context) {
|
||||||
MutableInt count = new MutableInt(0);
|
MutableInt count = new MutableInt(0);
|
||||||
NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> count.add(2));
|
NixieTubeBlock.walkNixies(context.level(), context.getTargetPos(), (currentPos, rowPosition) -> count.add(2));
|
||||||
return count.intValue();
|
return count.intValue();
|
|
@ -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 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.network.chat.MutableComponent;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.SignBlockEntity;
|
import net.minecraft.world.level.block.entity.SignBlockEntity;
|
||||||
|
|
||||||
public class SignDataTarget extends DataGathererTarget {
|
public class SignDisplayTarget extends DisplayTarget {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void acceptText(int line, List<MutableComponent> text, DataGathererContext context) {
|
public void acceptText(int line, List<MutableComponent> text, DisplayLinkContext context) {
|
||||||
BlockEntity te = context.getTargetTE();
|
BlockEntity te = context.getTargetTE();
|
||||||
if (!(te instanceof SignBlockEntity sign))
|
if (!(te instanceof SignBlockEntity sign))
|
||||||
return;
|
return;
|
||||||
|
@ -33,8 +33,8 @@ public class SignDataTarget extends DataGathererTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTargetStats provideStats(DataGathererContext context) {
|
public DisplayTargetStats provideStats(DisplayLinkContext context) {
|
||||||
return new DataTargetStats(4, 15, this);
|
return new DisplayTargetStats(4, 15, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -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<MutableComponent> 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);
|
||||||
|
|
||||||
|
}
|
|
@ -4,7 +4,7 @@ import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
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;
|
||||||
import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState;
|
import com.simibubi.create.content.logistics.trains.management.edgePoint.signal.SignalTileEntity.SignalState;
|
||||||
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
|
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
|
||||||
|
@ -88,7 +88,7 @@ public class NixieTubeTileEntity extends SmartTileEntity {
|
||||||
public void updateRedstoneStrength(int signalStrength) {
|
public void updateRedstoneStrength(int signalStrength) {
|
||||||
clearCustomText();
|
clearCustomText();
|
||||||
redstoneStrength = signalStrength;
|
redstoneStrength = signalStrength;
|
||||||
DataGathererBlock.notifyGatherers(level, worldPosition);
|
DisplayLinkBlock.notifyGatherers(level, worldPosition);
|
||||||
notifyUpdate();
|
notifyUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ public class NixieTubeTileEntity extends SmartTileEntity {
|
||||||
component.displayCustomText(level, worldPosition, tagElement);
|
component.displayCustomText(level, worldPosition, tagElement);
|
||||||
customText = Optional.of(component);
|
customText = Optional.of(component);
|
||||||
nixieIndex = nixiePositionInRow;
|
nixieIndex = nixiePositionInRow;
|
||||||
DataGathererBlock.notifyGatherers(level, worldPosition);
|
DisplayLinkBlock.notifyGatherers(level, worldPosition);
|
||||||
notifyUpdate();
|
notifyUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block.redstone;
|
||||||
|
|
||||||
import java.util.List;
|
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.SmartTileEntity;
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||||
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
|
import com.simibubi.create.foundation.tileEntity.behaviour.filtering.FilteringBehaviour;
|
||||||
|
@ -147,7 +147,7 @@ public class StockpileSwitchTileEntity extends SmartTileEntity {
|
||||||
scheduleBlockTick();
|
scheduleBlockTick();
|
||||||
|
|
||||||
if (changed || update) {
|
if (changed || update) {
|
||||||
DataGathererBlock.notifyGatherers(level, worldPosition);
|
DisplayLinkBlock.notifyGatherers(level, worldPosition);
|
||||||
notifyUpdate();
|
notifyUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -315,12 +315,12 @@ public class FlapDisplayBlock extends HorizontalKineticBlock
|
||||||
private static class PlacementHelper implements IPlacementHelper {
|
private static class PlacementHelper implements IPlacementHelper {
|
||||||
@Override
|
@Override
|
||||||
public Predicate<ItemStack> getItemPredicate() {
|
public Predicate<ItemStack> getItemPredicate() {
|
||||||
return AllBlocks.FLAP_DISPLAY::isIn;
|
return AllBlocks.DISPLAY_BOARD::isIn;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Predicate<BlockState> getStatePredicate() {
|
public Predicate<BlockState> getStatePredicate() {
|
||||||
return AllBlocks.FLAP_DISPLAY::has;
|
return AllBlocks.DISPLAY_BOARD::has;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -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.tools.ExtendoGripRenderHandler;
|
||||||
import com.simibubi.create.content.curiosities.zapper.ZapperItem;
|
import com.simibubi.create.content.curiosities.zapper.ZapperItem;
|
||||||
import com.simibubi.create.content.curiosities.zapper.terrainzapper.WorldshaperRenderHandler;
|
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.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.block.mechanicalArm.ArmInteractionPointHandler;
|
||||||
import com.simibubi.create.content.logistics.item.LinkedControllerClientHandler;
|
import com.simibubi.create.content.logistics.item.LinkedControllerClientHandler;
|
||||||
import com.simibubi.create.content.logistics.trains.entity.CarriageCouplingRenderer;
|
import com.simibubi.create.content.logistics.trains.entity.CarriageCouplingRenderer;
|
||||||
|
@ -161,7 +161,7 @@ public class ClientEvents {
|
||||||
TrackPlacement.clientTick();
|
TrackPlacement.clientTick();
|
||||||
TrackRemoval.clientTick();
|
TrackRemoval.clientTick();
|
||||||
TrainRelocator.clientTick();
|
TrainRelocator.clientTick();
|
||||||
DataGathererBlockItem.clientTick();
|
DisplayLinkBlockItem.clientTick();
|
||||||
CurvedTrackInteraction.clientTick();
|
CurvedTrackInteraction.clientTick();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ public class CLogistics extends ConfigBase {
|
||||||
public final ConfigInt psiTimeout = i(20, 1, "psiTimeout", Comments.psiTimeout);
|
public final ConfigInt psiTimeout = i(20, 1, "psiTimeout", Comments.psiTimeout);
|
||||||
public final ConfigInt mechanicalArmRange = i(5, 1, "mechanicalArmRange", Comments.mechanicalArmRange);
|
public final ConfigInt mechanicalArmRange = i(5, 1, "mechanicalArmRange", Comments.mechanicalArmRange);
|
||||||
public final ConfigInt linkRange = i(128, 1, "linkRange", Comments.linkRange);
|
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);
|
public final ConfigInt vaultCapacity = i(20, 1, "vaultCapacity", Comments.vaultCapacity);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,7 +22,7 @@ public class CLogistics extends ConfigBase {
|
||||||
static String defaultExtractionTimer =
|
static String defaultExtractionTimer =
|
||||||
"The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone.";
|
"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 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.";
|
"Maximum possible distance in blocks between data gatherers and their target.";
|
||||||
static String psiTimeout =
|
static String psiTimeout =
|
||||||
"The amount of ticks a portable storage interface waits for transfers until letting contraptions move along.";
|
"The amount of ticks a portable storage interface waits for transfers until letting contraptions move along.";
|
||||||
|
|
|
@ -81,10 +81,10 @@ public enum AllGuiTextures implements ScreenElement {
|
||||||
PROJECTOR_END("projector", 0, 58, 162, 22),
|
PROJECTOR_END("projector", 0, 58, 162, 22),
|
||||||
PROJECTOR_EMPTY("projector", 0, 80, 162, 22),
|
PROJECTOR_EMPTY("projector", 0, 80, 162, 22),
|
||||||
|
|
||||||
DATA_GATHERER("data_gatherer", 235, 162),
|
DATA_GATHERER("display_link", 235, 162),
|
||||||
DATA_AREA_START("data_gatherer", 0, 163, 2, 18),
|
DATA_AREA_START("display_link", 0, 163, 2, 18),
|
||||||
DATA_AREA("data_gatherer", 3, 163, 1, 18),
|
DATA_AREA("display_link", 3, 163, 1, 18),
|
||||||
DATA_AREA_END("data_gatherer", 5, 163, 2, 18),
|
DATA_AREA_END("display_link", 5, 163, 2, 18),
|
||||||
|
|
||||||
SCHEDULE("schedule", 256, 226),
|
SCHEDULE("schedule", 256, 226),
|
||||||
SCHEDULE_CARD_DARK("schedule", 5, 233, 1, 1),
|
SCHEDULE_CARD_DARK("schedule", 5, 233, 1, 1),
|
||||||
|
|
|
@ -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.weapons.PotatoProjectileTypeManager;
|
||||||
import com.simibubi.create.content.curiosities.zapper.ZapperBeamPacket;
|
import com.simibubi.create.content.curiosities.zapper.ZapperBeamPacket;
|
||||||
import com.simibubi.create.content.curiosities.zapper.terrainzapper.ConfigureWorldshaperPacket;
|
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.EjectorElytraPacket;
|
||||||
import com.simibubi.create.content.logistics.block.depot.EjectorPlacementPacket;
|
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.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.block.mechanicalArm.ArmPlacementPacket;
|
||||||
import com.simibubi.create.content.logistics.item.LinkedControllerBindPacket;
|
import com.simibubi.create.content.logistics.item.LinkedControllerBindPacket;
|
||||||
import com.simibubi.create.content.logistics.item.LinkedControllerInputPacket;
|
import com.simibubi.create.content.logistics.item.LinkedControllerInputPacket;
|
||||||
|
@ -127,7 +127,7 @@ public enum AllPackets {
|
||||||
RELOCATE_TRAIN(TrainRelocationPacket.class, TrainRelocationPacket::new, PLAY_TO_SERVER),
|
RELOCATE_TRAIN(TrainRelocationPacket.class, TrainRelocationPacket::new, PLAY_TO_SERVER),
|
||||||
CONTROLS_INPUT(ControlsInputPacket.class, ControlsInputPacket::new, PLAY_TO_SERVER),
|
CONTROLS_INPUT(ControlsInputPacket.class, ControlsInputPacket::new, PLAY_TO_SERVER),
|
||||||
REMOVE_TRACKS(TrackRemovalPacket.class, TrackRemovalPacket::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),
|
DESTROY_CURVED_TRACK(CurvedTrackDestroyPacket.class, CurvedTrackDestroyPacket::new, PLAY_TO_SERVER),
|
||||||
SELECT_CURVED_TRACK(CurvedTrackSelectionPacket.class, CurvedTrackSelectionPacket::new, PLAY_TO_SERVER),
|
SELECT_CURVED_TRACK(CurvedTrackSelectionPacket.class, CurvedTrackSelectionPacket::new, PLAY_TO_SERVER),
|
||||||
PLACE_CURVED_TRACK(PlaceExtendedCurvePacket.class, PlaceExtendedCurvePacket::new, PLAY_TO_SERVER),
|
PLACE_CURVED_TRACK(PlaceExtendedCurvePacket.class, PlaceExtendedCurvePacket::new, PLAY_TO_SERVER),
|
||||||
|
|
|
@ -690,64 +690,64 @@
|
||||||
"create.contraption.controls.stop_controlling": "Stopped controlling contraption",
|
"create.contraption.controls.stop_controlling": "Stopped controlling contraption",
|
||||||
"create.contraption.controls.approach_station": "Hold %1$s to approach %2$s",
|
"create.contraption.controls.approach_station": "Hold %1$s to approach %2$s",
|
||||||
|
|
||||||
"create.data_gatherer.set": "Targeted position selected",
|
"create.display_link.set": "Targeted position selected",
|
||||||
"create.data_gatherer.success": "Successfully bound to targeted position",
|
"create.display_link.success": "Successfully bound to targeted position",
|
||||||
"create.data_gatherer.clear": "Cleared position selection",
|
"create.display_link.clear": "Cleared position selection",
|
||||||
"create.data_gatherer.too_far": "Targeted position is too far from here",
|
"create.display_link.too_far": "Targeted position is too far from here",
|
||||||
"create.data_gatherer.invalid": "Gatherer has no valid target, try placing it again",
|
"create.display_link.invalid": "Link has no valid target, try placing it again",
|
||||||
"create.data_gatherer.title": "Data Gatherer",
|
"create.display_link.title": "Display Link",
|
||||||
"create.data_gatherer.no_source": "Not a Data Source",
|
"create.display_link.no_source": "Not a Display Source",
|
||||||
"create.data_gatherer.no_target": "Not a Data Target",
|
"create.display_link.no_target": "Not a Display Target",
|
||||||
"create.data_gatherer.reading_from": "Read from:",
|
"create.display_link.reading_from": "Read from:",
|
||||||
"create.data_gatherer.writing_to": "Send to:",
|
"create.display_link.writing_to": "Send to:",
|
||||||
"create.data_gatherer.attached_side": "Block on attached side",
|
"create.display_link.attached_side": "Block on attached side",
|
||||||
"create.data_gatherer.targeted_location": "Block in targeted location",
|
"create.display_link.targeted_location": "Block in targeted location",
|
||||||
"create.data_gatherer.view_compatible": "Click to view all Compatible",
|
"create.display_link.view_compatible": "Click to view all Compatible",
|
||||||
"create.data_gatherer.information_type": "Type of Information",
|
"create.display_link.information_type": "Type of Information",
|
||||||
"create.data_gatherer.display_on": "Write data to:",
|
"create.display_link.display_on": "Write data to:",
|
||||||
"create.data_gatherer.display_on_multiline": "Start writing at:",
|
"create.display_link.display_on_multiline": "Start writing at:",
|
||||||
|
|
||||||
"create.data_source.label": "Attached Label",
|
"create.display_source.label": "Attached Label",
|
||||||
"create.data_source.combine_item_names": "Combine Item Names",
|
"create.display_source.combine_item_names": "Combine Item Names",
|
||||||
"create.data_source.count_items": "Amount of matching Items",
|
"create.display_source.count_items": "Amount of matching Items",
|
||||||
"create.data_source.list_items": "List matching Items",
|
"create.display_source.list_items": "List matching Items",
|
||||||
"create.data_source.nixie_tube": "Copy Nixie Tubes",
|
"create.display_source.nixie_tube": "Copy Nixie Tubes",
|
||||||
"create.data_source.fill_level": "Container Fill Level",
|
"create.display_source.fill_level": "Container Fill Level",
|
||||||
"create.data_source.fill_level.display": "Display Format",
|
"create.display_source.fill_level.display": "Display Format",
|
||||||
"create.data_source.fill_level.percent": "Percent",
|
"create.display_source.fill_level.percent": "Percent",
|
||||||
"create.data_source.fill_level.progress_bar": "Progress Bar",
|
"create.display_source.fill_level.progress_bar": "Progress Bar",
|
||||||
"create.data_source.value_list.display": "Value Display",
|
"create.display_source.value_list.display": "Value Display",
|
||||||
"create.data_source.value_list.shortened": "Shortened",
|
"create.display_source.value_list.shortened": "Shortened",
|
||||||
"create.data_source.value_list.full_number": "Full Number",
|
"create.display_source.value_list.full_number": "Full Number",
|
||||||
"create.data_source.value_list.thousand": "k",
|
"create.display_source.value_list.thousand": "k",
|
||||||
"create.data_source.value_list.million": "m",
|
"create.display_source.value_list.million": "m",
|
||||||
"create.data_source.player_deaths": "Player Deaths",
|
"create.display_source.player_deaths": "Player Deaths",
|
||||||
"create.data_source.scoreboard": "Scoreboard",
|
"create.display_source.scoreboard": "Scoreboard",
|
||||||
"create.data_source.scoreboard.objective": "Objective ID",
|
"create.display_source.scoreboard.objective": "Objective ID",
|
||||||
"create.data_source.scoreboard.objective_not_found": "'%1$s' not found",
|
"create.display_source.scoreboard.objective_not_found": "'%1$s' not found",
|
||||||
"create.data_source.scoreboard.objective.deaths": "Player Deaths",
|
"create.display_source.scoreboard.objective.deaths": "Player Deaths",
|
||||||
"create.data_source.time_of_day": "Time of Day",
|
"create.display_source.time_of_day": "Time of Day",
|
||||||
"create.data_source.stop_watch": "Stopwatch",
|
"create.display_source.stop_watch": "Stopwatch",
|
||||||
"create.data_source.time.format": "Time Format",
|
"create.display_source.time.format": "Time Format",
|
||||||
"create.data_source.time.12_hour": "12-hour",
|
"create.display_source.time.12_hour": "12-hour",
|
||||||
"create.data_source.time.24_hour": "24-hour",
|
"create.display_source.time.24_hour": "24-hour",
|
||||||
"create.data_source.accumulate_items": "Accumulate Item Count",
|
"create.display_source.accumulate_items": "Accumulate Item Count",
|
||||||
"create.data_source.item_throughput": "Item Throughput",
|
"create.display_source.item_throughput": "Item Throughput",
|
||||||
"create.data_source.item_throughput.interval": "Interval",
|
"create.display_source.item_throughput.interval": "Interval",
|
||||||
"create.data_source.item_throughput.interval.second": "per Second",
|
"create.display_source.item_throughput.interval.second": "per Second",
|
||||||
"create.data_source.item_throughput.interval.minute": "per Minute",
|
"create.display_source.item_throughput.interval.minute": "per Minute",
|
||||||
"create.data_source.item_throughput.interval.hour": "per Hour",
|
"create.display_source.item_throughput.interval.hour": "per Hour",
|
||||||
"create.data_source.station_summary": "Train Station Summary",
|
"create.display_source.station_summary": "Train Station Summary",
|
||||||
"create.data_source.station_summary.filter": "Station name filter",
|
"create.display_source.station_summary.filter": "Station name filter",
|
||||||
"create.data_source.station_summary.train_name_column": "Train column size",
|
"create.display_source.station_summary.train_name_column": "Train column size",
|
||||||
"create.data_source.station_summary.platform_column": "Platform column size",
|
"create.display_source.station_summary.platform_column": "Platform column size",
|
||||||
"create.data_source.station_summary.now": "now",
|
"create.display_source.station_summary.now": "now",
|
||||||
"create.data_source.station_summary.minutes": " min",
|
"create.display_source.station_summary.minutes": " min",
|
||||||
"create.data_source.station_summary.seconds": "%1$ss",
|
"create.display_source.station_summary.seconds": "%1$ss",
|
||||||
|
|
||||||
"create.data_target.line": "Line %1$s",
|
"create.display_target.line": "Line %1$s",
|
||||||
"create.data_target.page": "Page %1$s",
|
"create.display_target.page": "Page %1$s",
|
||||||
"create.data_target.single_line": "Single Line",
|
"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.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",
|
"create.flap_display.cycles.numeric": " ;0;1;2;3;4;5;6;7;8;9",
|
||||||
|
|
|
@ -1,42 +1,97 @@
|
||||||
{
|
{
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"8": "create:block/controls",
|
"4": "create:block/controls_frame",
|
||||||
"9": "create:block/signal_box_top",
|
"1_7": "create:block/controls",
|
||||||
"particle": "create:block/bogey/particle"
|
"particle": "create:block/bogey/particle"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"from": [0, 0, 8],
|
"from": [14, 0, 6],
|
||||||
"to": [16, 5, 16],
|
"to": [16, 14, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 8, 8, 10.5], "texture": "#8"},
|
"north": {"uv": [0, 9, 1, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 5.5, 12, 8], "texture": "#8"},
|
"east": {"uv": [13, 0, 8, 7], "texture": "#4"},
|
||||||
"south": {"uv": [0, 5.5, 8, 8], "texture": "#8"},
|
"south": {"uv": [7, 0, 8, 7], "texture": "#4"},
|
||||||
"west": {"uv": [12, 5.5, 16, 8], "texture": "#8"},
|
"west": {"uv": [16, 9, 11, 16], "texture": "#4"},
|
||||||
"down": {"uv": [0, 4, 16, 12], "texture": "#9"}
|
"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],
|
"from": [2, 5, 14],
|
||||||
"to": [16, 14, 16],
|
"to": [14, 14, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [8, 11, 16, 15.5], "texture": "#8"},
|
"north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
|
||||||
"east": {"uv": [16, 0, 11, 4.5], "texture": "#8"},
|
"south": {"uv": [1, 0, 7, 4.5], "texture": "#4"},
|
||||||
"south": {"uv": [0, 0, 8, 4.5], "texture": "#8"},
|
"up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#1_7"}
|
||||||
"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"}
|
{
|
||||||
|
"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": [
|
"display": {
|
||||||
{
|
"thirdperson_righthand": {
|
||||||
"name": "closed",
|
"rotation": [75, 45, 0],
|
||||||
"origin": [0, 0, 0],
|
"translation": [0, 2.5, 0],
|
||||||
"color": 0,
|
"scale": [0.375, 0.375, 0.375]
|
||||||
"children": [0, 1]
|
},
|
||||||
|
"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]
|
||||||
}
|
}
|
||||||
]
|
}
|
||||||
}
|
}
|
|
@ -1,74 +1,97 @@
|
||||||
{
|
{
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
"textures": {
|
||||||
"7": "create:block/controls",
|
"4": "create:block/controls_frame",
|
||||||
"8": "create:block/signal_box_top",
|
"1_7": "create:block/controls",
|
||||||
"particle": "create:block/bogey/particle"
|
"particle": "create:block/bogey/particle"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"from": [14, 5, 6],
|
"from": [14, 0, 6],
|
||||||
"to": [16, 14, 16],
|
"to": [16, 14, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [8, 11, 9, 15.5], "texture": "#7"},
|
"north": {"uv": [0, 9, 1, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 0, 11, 4.5], "texture": "#7"},
|
"east": {"uv": [13, 0, 8, 7], "texture": "#4"},
|
||||||
"south": {"uv": [7, 0, 8, 4.5], "texture": "#7"},
|
"south": {"uv": [7, 0, 8, 7], "texture": "#4"},
|
||||||
"west": {"uv": [11, 0, 16, 4.5], "texture": "#7"},
|
"west": {"uv": [16, 9, 11, 16], "texture": "#4"},
|
||||||
"up": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#7"},
|
"up": {"uv": [0, 0, 1, 5], "rotation": 180, "texture": "#1_7"},
|
||||||
"down": {"uv": [8, 11, 9, 16], "rotation": 180, "texture": "#7"}
|
"down": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [2, 5, 14],
|
"from": [2, 5, 14],
|
||||||
"to": [14, 14, 16],
|
"to": [14, 14, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [1, 0, 7, 4.5], "texture": "#7"},
|
"north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
|
||||||
"south": {"uv": [1, 0, 7, 4.5], "texture": "#7"},
|
"south": {"uv": [1, 0, 7, 4.5], "texture": "#4"},
|
||||||
"up": {"uv": [1, 11, 7, 12], "rotation": 180, "texture": "#7"}
|
"up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [0, 5, 6],
|
"from": [0, 0, 6],
|
||||||
"to": [2, 14, 16],
|
"to": [2, 14, 16],
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
|
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [15, 11, 16, 15.5], "texture": "#7"},
|
"north": {"uv": [7, 9, 8, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 0, 11, 4.5], "texture": "#7"},
|
"east": {"uv": [11, 9, 16, 16], "texture": "#4"},
|
||||||
"south": {"uv": [0, 0, 1, 4.5], "texture": "#7"},
|
"south": {"uv": [0, 0, 1, 7], "texture": "#4"},
|
||||||
"west": {"uv": [11, 0, 16, 4.5], "texture": "#7"},
|
"west": {"uv": [8, 0, 13, 7], "texture": "#4"},
|
||||||
"up": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#7"},
|
"up": {"uv": [7, 0, 8, 5], "rotation": 180, "texture": "#1_7"},
|
||||||
"down": {"uv": [15, 11, 16, 16], "rotation": 180, "texture": "#7"}
|
"down": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [2, 5, 7],
|
"from": [2, 5, 7],
|
||||||
"to": [14, 13, 15],
|
"to": [14, 13, 15],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [8, 4.5, 12, 10.5], "rotation": 270, "texture": "#7"},
|
"north": {"uv": [1, 14, 7, 10.05], "rotation": 180, "texture": "#4"},
|
||||||
"up": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#7"},
|
"up": {"uv": [1, 13.5, 7, 9.55], "texture": "#4"},
|
||||||
"down": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#7"}
|
"down": {"uv": [1, 14.5, 7, 10.5], "rotation": 180, "texture": "#4"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [0, 0, 8],
|
"from": [2, 0, 8],
|
||||||
"to": [16, 5, 16],
|
"to": [14, 5, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 8, 8, 10.5], "texture": "#7"},
|
"north": {"uv": [1, 13.5, 7, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 5.5, 12, 8], "texture": "#7"},
|
"south": {"uv": [1, 4.5, 7, 7], "texture": "#4"},
|
||||||
"south": {"uv": [0, 5.5, 8, 8], "texture": "#7"},
|
"down": {"uv": [7, 12, 1, 16], "texture": "#1_7"}
|
||||||
"west": {"uv": [12, 5.5, 16, 8], "texture": "#7"},
|
|
||||||
"down": {"uv": [0, 4, 16, 12], "texture": "#8"}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"groups": [
|
"display": {
|
||||||
{
|
"thirdperson_righthand": {
|
||||||
"name": "open",
|
"rotation": [75, 45, 0],
|
||||||
"origin": [0, 0, 0],
|
"translation": [0, 2.5, 0],
|
||||||
"color": 0,
|
"scale": [0.375, 0.375, 0.375]
|
||||||
"children": [0, 1, 2, 3]
|
|
||||||
},
|
},
|
||||||
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]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
{
|
{
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"textures": {
|
"textures": {
|
||||||
"8": "create:block/signal_box_top",
|
"4": "create:block/controls_frame",
|
||||||
"12": "create:block/train_controls",
|
|
||||||
"1_7": "create:block/controls",
|
"1_7": "create:block/controls",
|
||||||
"particle": "create:block/bogey/particle"
|
"particle": "create:block/bogey/particle"
|
||||||
},
|
},
|
||||||
|
@ -12,12 +11,12 @@
|
||||||
"to": [6, 11, 9],
|
"to": [6, 11, 9],
|
||||||
"rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]},
|
"rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]},
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#12"},
|
"north": {"uv": [8, 1.5, 9, 2.5], "rotation": 180, "texture": "#1_7"},
|
||||||
"east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#12"},
|
"east": {"uv": [9, 3, 8, 8], "rotation": 90, "texture": "#1_7"},
|
||||||
"south": {"uv": [0, 0, 0, 0], "texture": "#12"},
|
"south": {"uv": [0, 0, 0, 0], "texture": "#missing"},
|
||||||
"west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#12"},
|
"west": {"uv": [9, 3, 8, 8], "rotation": 270, "texture": "#1_7"},
|
||||||
"up": {"uv": [0, 6, 2, 16], "texture": "#12"},
|
"up": {"uv": [8, 3, 9, 8], "texture": "#1_7"},
|
||||||
"down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#12"}
|
"down": {"uv": [8, 3, 9, 8], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -25,33 +24,32 @@
|
||||||
"to": [12, 11, 9],
|
"to": [12, 11, 9],
|
||||||
"rotation": {"angle": 22.5, "axis": "x", "origin": [0, 10, 11]},
|
"rotation": {"angle": 22.5, "axis": "x", "origin": [0, 10, 11]},
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#12"},
|
"north": {"uv": [8, 1.5, 9, 2.5], "rotation": 180, "texture": "#1_7"},
|
||||||
"east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#12"},
|
"east": {"uv": [9, 3, 8, 8], "rotation": 90, "texture": "#1_7"},
|
||||||
"south": {"uv": [0, 0, 0, 0], "texture": "#12"},
|
"west": {"uv": [9, 3, 8, 8], "rotation": 270, "texture": "#1_7"},
|
||||||
"west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#12"},
|
"up": {"uv": [8, 3, 9, 8], "texture": "#1_7"},
|
||||||
"up": {"uv": [0, 6, 2, 16], "texture": "#12"},
|
"down": {"uv": [8, 3, 9, 8], "rotation": 180, "texture": "#1_7"}
|
||||||
"down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#12"}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [2, 4.95, 6.75],
|
"from": [2, 4.95, 6.75],
|
||||||
"to": [14, 13.2, 14],
|
"to": [14, 13.2, 14],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [2, 5, 14, 13], "texture": "#12"},
|
"north": {"uv": [9.5, 3.5, 15.5, 0], "texture": "#1_7"},
|
||||||
"up": {"uv": [2, 0, 14, 7.5], "rotation": 180, "texture": "#12"},
|
"up": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"},
|
||||||
"down": {"uv": [2, 0, 14, 8], "rotation": 180, "texture": "#12"}
|
"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],
|
"to": [16, 14, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [8, 11, 9, 15.5], "texture": "#1_7"},
|
"north": {"uv": [0, 9, 1, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 0, 11, 4.5], "texture": "#1_7"},
|
"east": {"uv": [13, 0, 8, 7], "texture": "#4"},
|
||||||
"south": {"uv": [7, 0, 8, 4.5], "texture": "#1_7"},
|
"south": {"uv": [7, 0, 8, 7], "texture": "#4"},
|
||||||
"west": {"uv": [11, 0, 16, 4.5], "texture": "#1_7"},
|
"west": {"uv": [16, 9, 11, 16], "texture": "#4"},
|
||||||
"up": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"},
|
"up": {"uv": [0, 0, 1, 5], "rotation": 180, "texture": "#1_7"},
|
||||||
"down": {"uv": [8, 11, 9, 16], "rotation": 180, "texture": "#1_7"}
|
"down": {"uv": [0, 11, 1, 16], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -59,41 +57,39 @@
|
||||||
"to": [14, 14, 16],
|
"to": [14, 14, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
|
"north": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
|
||||||
"south": {"uv": [1, 0, 7, 4.5], "texture": "#1_7"},
|
"south": {"uv": [1, 0, 7, 4.5], "texture": "#4"},
|
||||||
"up": {"uv": [1, 11, 7, 12], "rotation": 180, "texture": "#1_7"}
|
"up": {"uv": [1, 0, 7, 1], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [0, 5, 6],
|
"from": [0, 0, 6],
|
||||||
"to": [2, 14, 16],
|
"to": [2, 14, 16],
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
|
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [15, 11, 16, 15.5], "texture": "#1_7"},
|
"north": {"uv": [7, 9, 8, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 0, 11, 4.5], "texture": "#1_7"},
|
"east": {"uv": [11, 9, 16, 16], "texture": "#4"},
|
||||||
"south": {"uv": [0, 0, 1, 4.5], "texture": "#1_7"},
|
"south": {"uv": [0, 0, 1, 7], "texture": "#4"},
|
||||||
"west": {"uv": [11, 0, 16, 4.5], "texture": "#1_7"},
|
"west": {"uv": [8, 0, 13, 7], "texture": "#4"},
|
||||||
"up": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"},
|
"up": {"uv": [7, 0, 8, 5], "rotation": 180, "texture": "#1_7"},
|
||||||
"down": {"uv": [15, 11, 16, 16], "rotation": 180, "texture": "#1_7"}
|
"down": {"uv": [7, 11, 8, 16], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [2, 5, 7],
|
"from": [2, 5, 7],
|
||||||
"to": [14, 13, 15],
|
"to": [14, 13, 15],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [8, 4.5, 12, 10.5], "rotation": 270, "texture": "#1_7"},
|
"north": {"uv": [1, 14, 7, 10], "rotation": 180, "texture": "#4"},
|
||||||
"up": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#1_7"},
|
"up": {"uv": [1, 13.5, 7, 9.5], "texture": "#4"},
|
||||||
"down": {"uv": [8, 4.5, 12, 10.5], "rotation": 90, "texture": "#1_7"}
|
"down": {"uv": [1, 14.5, 7, 10.5], "rotation": 180, "texture": "#4"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [0, 0, 8],
|
"from": [2, 0, 8],
|
||||||
"to": [16, 5, 16],
|
"to": [14, 5, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 8, 8, 10.5], "texture": "#1_7"},
|
"north": {"uv": [1, 13.5, 7, 16], "texture": "#4"},
|
||||||
"east": {"uv": [16, 5.5, 12, 8], "texture": "#1_7"},
|
"south": {"uv": [1, 4.5, 7, 7], "texture": "#4"},
|
||||||
"south": {"uv": [0, 5.5, 8, 8], "texture": "#1_7"},
|
"down": {"uv": [7, 12, 1, 16], "texture": "#1_7"}
|
||||||
"west": {"uv": [12, 5.5, 16, 8], "texture": "#1_7"},
|
|
||||||
"down": {"uv": [0, 4, 16, 12], "texture": "#8"}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"textures": {
|
"textures": {
|
||||||
"12": "create:block/train_controls",
|
"1_7": "create:block/controls",
|
||||||
"particle": "create:block/bogey/particle"
|
"particle": "create:block/bogey/particle"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
|
@ -9,9 +9,9 @@
|
||||||
"from": [2, 4.95, 6.75],
|
"from": [2, 4.95, 6.75],
|
||||||
"to": [14, 13.2, 14],
|
"to": [14, 13.2, 14],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [2, 5, 14, 13], "texture": "#12"},
|
"north": {"uv": [9.5, 3.5, 15.5, 0], "texture": "#1_7"},
|
||||||
"up": {"uv": [2, 0, 14, 7.5], "rotation": 180, "texture": "#12"},
|
"up": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"},
|
||||||
"down": {"uv": [2, 0, 14, 8], "rotation": 180, "texture": "#12"}
|
"down": {"uv": [9.5, 0, 15.5, 3.5], "rotation": 180, "texture": "#1_7"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
},
|
},
|
||||||
"gui": {
|
"gui": {
|
||||||
"rotation": [30, 225, 0],
|
"rotation": [30, 225, 0],
|
||||||
"translation": [1, 0, 0],
|
"translation": [1.5, -0.25, 0],
|
||||||
"scale": [0.625, 0.625, 0.625]
|
"scale": [0.625, 0.625, 0.625]
|
||||||
},
|
},
|
||||||
"head": {
|
"head": {
|
||||||
|
@ -49,13 +49,5 @@
|
||||||
"fixed": {
|
"fixed": {
|
||||||
"scale": [0.5, 0.5, 0.5]
|
"scale": [0.5, 0.5, 0.5]
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "cover",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"textures": {
|
"textures": {
|
||||||
"5": "create:block/train_controls"
|
"5": "create:block/controls"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
|
@ -9,11 +9,11 @@
|
||||||
"to": [6, 11, 9],
|
"to": [6, 11, 9],
|
||||||
"rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]},
|
"rotation": {"angle": 45, "axis": "x", "origin": [0, 10, 11]},
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 3, 2, 5], "rotation": 180, "texture": "#5"},
|
"north": {"uv": [8, 1.5, 9, 2.5], "rotation": 180, "texture": "#5"},
|
||||||
"east": {"uv": [0, 6, 2, 16], "rotation": 90, "texture": "#5"},
|
"east": {"uv": [9, 3, 8, 8], "rotation": 90, "texture": "#5"},
|
||||||
"west": {"uv": [0, 6, 2, 16], "rotation": 270, "texture": "#5"},
|
"west": {"uv": [9, 3, 8, 8], "rotation": 270, "texture": "#5"},
|
||||||
"up": {"uv": [0, 6, 2, 16], "texture": "#5"},
|
"up": {"uv": [8, 3, 9, 8], "texture": "#5"},
|
||||||
"down": {"uv": [0, 6, 2, 16], "rotation": 180, "texture": "#5"}
|
"down": {"uv": [8, 3, 9, 8], "rotation": 180, "texture": "#5"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "create:block/data_gatherer/block",
|
|
||||||
"textures": {
|
|
||||||
"3": "create:block/data_gatherer_side_powered"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,15 +2,14 @@
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"parent": "block/block",
|
"parent": "block/block",
|
||||||
"textures": {
|
"textures": {
|
||||||
"0": "create:block/data_gatherer",
|
"0": "create:block/display_link",
|
||||||
"2": "create:block/smooth_dark_log_top",
|
"3": "create:block/display_link_side",
|
||||||
"3": "create:block/data_gatherer_side",
|
|
||||||
"particle": "create:block/brass_casing"
|
"particle": "create:block/brass_casing"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
"from": [9, 6, 3],
|
"from": [9, 6, 3.5],
|
||||||
"to": [13, 9, 12],
|
"to": [13, 9, 12.5],
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
|
"rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]},
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [14.5, 0, 12.5, 1.5], "texture": "#0"},
|
"north": {"uv": [14.5, 0, 12.5, 1.5], "texture": "#0"},
|
||||||
|
@ -25,22 +24,22 @@
|
||||||
"to": [15, 6, 15],
|
"to": [15, 6, 15],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 0, 14, 5], "texture": "#3"},
|
"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"},
|
"south": {"uv": [0, 0, 14, 5], "texture": "#3"},
|
||||||
"west": {"uv": [7.5, 8.5, 10, 15.5], "rotation": 90, "texture": "#0"},
|
"west": {"uv": [7.5, 9, 10, 16], "rotation": 90, "texture": "#0"},
|
||||||
"up": {"uv": [0, 6, 7, 13], "texture": "#0"},
|
"up": {"uv": [0, 9, 7, 16], "texture": "#0"},
|
||||||
"down": {"uv": [1, 1, 15, 15], "texture": "#2"}
|
"down": {"uv": [0, 1.5, 7, 8.5], "texture": "#0"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"from": [2, -1, 2],
|
"from": [2, -1, 2],
|
||||||
"to": [14, 1, 14],
|
"to": [14, 1, 14],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"},
|
"north": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"},
|
||||||
"east": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"},
|
"east": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"},
|
||||||
"south": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"},
|
"south": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"},
|
||||||
"west": {"uv": [0.5, 14.5, 6.5, 15.5], "texture": "#0"},
|
"west": {"uv": [0.5, 0, 6.5, 1], "texture": "#0"},
|
||||||
"down": {"uv": [0, 0, 6, 6], "texture": "#0"}
|
"down": {"uv": [0.5, 2, 6.5, 8], "texture": "#0"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "create:block/display_link/block",
|
||||||
|
"textures": {
|
||||||
|
"3": "create:block/display_link_side_powered"
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"parent": "block/block",
|
"parent": "block/block",
|
||||||
"textures": {
|
"textures": {
|
||||||
"0": "create:block/data_gatherer"
|
"0": "create:block/display_link"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
|
@ -2,7 +2,7 @@
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"parent": "block/block",
|
"parent": "block/block",
|
||||||
"textures": {
|
"textures": {
|
||||||
"0": "create:block/data_gatherer"
|
"0": "create:block/display_link"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
Before Width: | Height: | Size: 658 B After Width: | Height: | Size: 716 B |
After Width: | Height: | Size: 577 B |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 274 B |
Before Width: | Height: | Size: 273 B |
BIN
src/main/resources/assets/create/textures/block/display_link.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 282 B |
After Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 353 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |